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 :

Listbox et binding sur fichiers XML


Sujet :

Windows Presentation Foundation

  1. #1
    Membre à l'essai
    Homme Profil pro
    Automatisme, robotique et info indus
    Inscrit en
    Avril 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Automatisme, robotique et info indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 35
    Points : 15
    Points
    15
    Par défaut Listbox et binding sur fichiers XML
    Bonjour,

    Je suis actuellement entrain de développer une petite application, par plaisir et pour me familiariser avec le WPF.
    Mais je sèche sur un "problème" de binding. J'ai actuellement 2 listbox dans mon appli, dont les item sont liés au fichier xml suivant.
    La première liste affiche la donnée "Mainserver Loc", la deuxième les données "world" correspondantes à la localisation de la première liste.
    Jusque là, pas de soucis.

    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
    <?xml version="1.0" encoding="utf-8" ?>
    <Worlds>
      <MainServer Loc="fr">
        <World Id="65" Name="aaaa"/>
        <World Id="70" Name="bbbb"/>
        <World Id="58" Name="cccc"/>
        <World Id="59" Name="dddd"/>
      </MainServer>
      <MainServer Loc="en">
        <World Id="65" Name="aaaa"/>
        <World Id="70" Name="bbbb"/>
      </MainServer>
      <MainServer Loc="de">
        <World Id="65" Name="aaaa"/>
        <World Id="70" Name="bbbb"/>
        <World Id="58" Name="cccc"/>
      </MainServer>
    </Worlds>

    Là où je sèche, c'est que j'aimerai faire un binding des données "World Id et World Name", sélectionnées dans la 2ème liste, dans le fichier xml ci-dessous.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Settings>
      <!--Account settings-->
      <Player Name="toto" Password="abcde" ServerLoc="en" WorldId="70" WorldName="aaaa"/>

    Actuellement, j'ai le code xaml suivant pour ma deuxième listbox.

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                <ListBox Name="_worldList"
                     DataContext="{Binding ElementName=_serverLocList, Path=SelectedItem}"
                     ItemsSource="{Binding XPath=World, Mode=OneWay}"
                     DisplayMemberPath="@Name"
                     SelectedValuePath="@Id"
                     SelectedValue="{Binding ElementName=AccountSettings, XPath=Player/@WorldId, Mode=TwoWay}"
                     IsSynchronizedWithCurrentItem="False"
                     SelectionMode="Single"
                     IsEnabled="{Binding IsChecked, ElementName=_lockParameterMenuItem, Converter={StaticResource Negate}}"
                     ScrollViewer.HorizontalScrollBarVisibility="Hidden" 
                     ScrollViewer.VerticalScrollBarVisibility="Hidden"
                     Grid.Column="1"/>

    Avec ce code, j'arrive à faire un binding soit de "world Id", soit de "World Name", mais pas des deux. J'ai essayé en faisant un binding sur le selecteditem de la listbox, mais cela renvoi un xmlobject, ce qui est logique (mais pas pour moi au début ).
    J'ai pas mal cherché sur le net, sans trouver de solutions.

    J'ai donc besoin de vos lumières. Est ce possible à faire en xaml (multibiding?)?
    Sinon quelles autres solutions simples pourrai je utiliser?

    Merci.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Automatisme, robotique et info indus
    Inscrit en
    Avril 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Automatisme, robotique et info indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 35
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Je n'ai toujours pas trouver de solution pour faire un binding de deux éléments xml contenu dans l'item de ma listbox.
    Je continue mes recherches...
    Sinon, je changerai de méthode, en simplifiant la structure de mon fichier xml.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 389
    Points : 244
    Points
    244
    Par défaut
    Slt

    Pour parser le flux XML, tu pourrais utiliser LinqToXML, cela te générerai une liste d'Objet.

    Ensuite, dans ton code tu pourrais (côté C# ou VB.net) faire un liste.itemSource = listeObjet

    Du côté du XAML tu devrais mettre {Binding objet.worldID}

    Quand tu clic sur ta liste (avec le bon evenement), pour récupérer ton objet tu ferais un truc du genre :

    MyObject obj = (MyObject)liste.selectItem et la tu récupérerais l'ensemble des données de l'objet sélectionné

    En espérant t'avoir aidé

Discussions similaires

  1. Combobox par SELECT sur fichier XML
    Par zouzou99 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 16/04/2008, 07h00
  2. Perl + Twig => operations sur fichier XML
    Par tsunamijf dans le forum Modules
    Réponses: 4
    Dernier message: 04/03/2008, 10h45
  3. Requête sur fichier XML
    Par migutz dans le forum VB.NET
    Réponses: 1
    Dernier message: 09/11/2007, 15h34
  4. [XML] Quizz basé sur fichier XML
    Par Heilong dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 29/10/2007, 14h16
  5. [AJAX] requête sur fichier.xml => erreur 405 sous IE !
    Par jeje13009 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 26/03/2007, 21h42

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