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 :

liste de Combobox et ItemsSource


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 30
    Par défaut liste de Combobox et ItemsSource
    Bonjour à tous,

    Je remets le couvert puisque je rencontre à nouveau des difficultés afin d'utiliser correctement une liste de combobox.

    J'explique ce que je souhaite réaliser : J'ai une liste d'éléments qui s'affiche graphiquement (bien sur cette liste est à taille variable). Pour chacun de ces éléments j'ai deux combobox qui représentent le type et le sous-type. L'idée c'est de proposer une liste de types et de sous-types obtenus à l'aide des fonction getTypes et getNESubTypes de mon Data Access Object.

    Voila le code xaml :
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <WrapPanel>
                                <TextBox Text="{Binding Path=Name}"/>
                                <ComboBox ItemsSource="{StaticResource Types}" Text="{Binding Type}"/>
                                <ComboBox ItemsSource="{StaticResource NESubTypes}" Text="{Binding SubType}"/>
                                <Button Content="Options"/>
    </WrapPanel>

    Le code VB du constructeur de ma fenetre :
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Public Sub New()
            InitializeComponent()
            Dim dao As DataAccessObject = New DataAccessObject()
            Me.Resources.Add("Types", dao.GetTypes)
            Me.Resources.Add("NESubTypes", dao.GetNESubTypes)
    End Sub

    J'ai une exception du genre
    Impossible de resoudre la ressource 'Types'

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bizarre !

    Et si tu effectues l'ajout des ressources avant l'appel de la méthode InitializeComponent() ?

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 30
    Par défaut
    Idem.

    Avec un object data provider cela fonctionne...

  4. #4
    Invité
    Invité(e)
    Par défaut
    ObjectDataProvider était la 2ème solution que j'allais te proposer

    Je ne pense pas aussi que cela marche mais essaie d'ajouter les ressources dans Application.Resources histoire de voir même si ce n'est pas très clean.

  5. #5
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 30
    Par défaut
    Avec le provider cela donne ça :

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <WrapPanel>
                                <TextBox Text="{Binding Path=Name}"/>
                                <ComboBox DataContext="{StaticResource TypesProvider}" ItemsSource="{Binding}" SelectedValue="{Binding Type}"/>
                                <ComboBox DataContext="{StaticResource NESubTypesProvider}" ItemsSource="{Binding}" SelectedValue="{Binding SubType}"/>
                                <Button Content="Options"/>
                            </WrapPanel>

    Par contre le problème, c'est comme je redéfinis le DataContext pour mon ItemsSource, le binding de la SelectedValue n'est plus cohérent... Du coup il ne sauvegarde pas la valeur choisie. Ce qui est logique. Je suis coincé...

    En attendant je teste ton Application.Resources.
    EDIT : Bon alors ça fonctionne en passant par Application.Resources. J'aimerais bien savoir pourquoi ça ne marche pas en passant par le fenêtre principal. M'enfin.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je ne sais pas trop pourquoi ça marche avec Application.Ressource et non avec l'ajout de la ressource dans la fenêtre.
    La logique de recherche d'une ressource est d'abords effectuée dans les ressources de la fenêtre avant d'aller chercher dans celles de l'Application.
    Normalement dans ton premier code cela devrait marcher.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/11/2006, 10h56
  2. récuperer vector dans liste pour combobox
    Par bnreb10 dans le forum Interfaces Graphiques en Java
    Réponses: 33
    Dernier message: 08/08/2006, 10h20
  3. Liste déroulante / ComboBox : Arborescence (tree)
    Par JohnNC dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 13/07/2006, 11h48
  4. [MFC] Affichage de la liste du ComboBox
    Par Trap D dans le forum MFC
    Réponses: 2
    Dernier message: 02/02/2006, 15h24
  5. Obliger de prendre dans la liste du combobox
    Par Yphon dans le forum Composants VCL
    Réponses: 3
    Dernier message: 20/01/2006, 15h27

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