IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Fichier Xml n'est pas remis à jour avec le binding XmlDataProvider


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Par défaut Fichier Xml n'est pas remis à jour avec le binding XmlDataProvider
    Bonjour,

    Je ne comprend pas j'effectue un binding sur un fichier xml via un xmlDataProvider, mes données sont bien affichés sur mon interface en revanche les modifications que j'effectue sur mon interface ne sont pas enregistrer sur mon fichier xml, C'est normal? J'ai déja fait du binding avec des ObjectDataProvider avec InotifyPropertyChanged et ça marchait super bien.

    voila mon xaml :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
        <Window.Resources>
            <ResourceDictionary>
                <XmlDataProvider x:Key="ExoConfigXml" Source="F:\GUI\UIConfiguration\ExerciceConfig.xml" XPath="/OPTFM"  />
             </Window.Resources>
     
    <Grid Background="Black" DataContext="{Binding Source={StaticResource ExoConfigXml}}" >
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" MinHeight="31" />
                <RowDefinition Height="Auto" MinHeight="31" />
                <RowDefinition Height="Auto" MinHeight="31" />
                <RowDefinition Height="Auto" MinHeight="31" />
                <RowDefinition Height="Auto" MinHeight="31" />
            </Grid.RowDefinitions>
     
     <TextBox   Grid.Row ="0" Grid.Column="1" Text="{Binding XPath=mois_chiffre, Mode=TwoWay }" />
     </Grid>

    mon fichier xml :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?xml version="1.0" encoding="utf-8" ?>
    <OPTFM xmlns="">
      <der_semaine>0/0</der_semaine>
      <nb_iteration_perim>3</nb_iteration_perim>
      <affichage_analyse_ecart>0</affichage_analyse_ecart>
      <nb_J_apres_jf>2</nb_J_apres_jf>
      <date_system>0</date_system>
      <poids_j_feries0>0.000000</poids_j_feries0>
      <affichage_objectif>0</affichage_objectif>
      <semaine_debut>0</semaine_debut>
      <poids_j_feries1>0.000000</poids_j_feries1>
      <type_chrono_modele>0</type_chrono_modele>
      <poids_j_feries2>0.000000</poids_j_feries2>
      <poids_j_feries3>0.000000</poids_j_feries3>
      <Periode_hebdo>0</Periode_hebdo>
      <poids_j_feries4>0.000000</poids_j_feries4>
      <der_mois>8/2008</der_mois>
      <mois_chiffre>5</mois_chiffre>
      <jour_de_la_semaine>4</jour_de_la_semaine>
      <format_jj_mm_aa>0</format_jj_mm_aa>
      <affichage_resultat>0</affichage_resultat>
      <nb_iteration>3</nb_iteration>
      <calendrier />
      <pas_affichage_jour>0</pas_affichage_jour>
      <mois_debut>3</mois_debut>
      <nb_jour_decalage_hist_date_system>0</nb_jour_decalage_hist_date_system>
      <nb_day_by_week>7</nb_day_by_week>
      <coef_lissage_tendance>0</coef_lissage_tendance>
      <nb_J_avant_jf>3</nb_J_avant_jf>
    </OPTFM>

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Je ne crois pas que tu puisses mettre à jour via un XmlDataProvider.....

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Par défaut
    Ah bon !! Comment je fais alors? je dois deserialiser mon xml dans une classe, puis utiliser un objectDataProvider?

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Faire de la sérialisation/desérialisation XML et utiliser un ObjectDataProvider me semble une bonne idée, en effet

  5. #5
    Membre averti
    Inscrit en
    Février 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 45
    Par défaut
    en fait en ajoutant un bouton pour sauvegarder mes modif ça marche bien :


    private void Button_Click_1(object sender, RoutedEventArgs e)
    {

    try
    {
    XmlDataProvider data = (XmlDataProvider)this.FindResource("ExoConfigXml");
    data.Document.Save("F:\\GUI\\UIConfiguration\\ExerciceConfig.xml");

    }
    catch (Exception ex)
    {
    throw ex;
    }

    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/03/2009, 12h01
  2. Vérifier si un fichier.Z n'est pas endommagé
    Par StyleXP dans le forum Linux
    Réponses: 4
    Dernier message: 01/08/2006, 16h13
  3. Réponses: 1
    Dernier message: 09/06/2006, 21h02
  4. [information] utiliser des "dessins" si le fichier image n'est pas trouvé
    Par TabrisLeFol dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 25/05/2006, 12h05
  5. Index n'est pas a jour
    Par touhami dans le forum Paradox
    Réponses: 5
    Dernier message: 11/12/2002, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo