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 :

Valeur Par défaut sur une Combobox attaché à une collection


Sujet :

Windows Presentation Foundation

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Valeur Par défaut sur une Combobox attaché à une collection
    Bonjour,

    Je suppose que le sujet a déjà été abordé sur le forum mais ne trouvant pas un sujet s'y rapportant je le pose de nouveau:

    J'ai un combobox qui est attaché à une collection d'objets via l'itemSource (ItemsSource="{Binding ElementName= cbo_s, Path = SelectedItem.XSites}" DisplayMemberPath="LibelleS") dans le XAML.
    Le datacontext est déclaré sur la Balise border parente de ce combobox.
    Je souhaiterais sélectionner une valeur par défaut (du genre "sélectionner un titre") au chargement des objets dans le combobox.
    J'ai essayé via les propriétés Text ="sélectionner un titre" et selectedIndex = "-1" du combobox mais rien n'y fait la valeur sélectionnée est toujours la première valeur de ma collection attachée au combobox

    Auriez-vous une solution à mon problème ?

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Je viens d'essayer avec ce que tu m'as indiqué.
    Cela ne fonctionne pas quand je le souhaite le "sélectionnez un titre" que j'ai mis en content d'un comboboxItem n'apparait qu'à l'index 0 et donc par défaut la première ligne visible du combobox ne contient rien alors que je voudrais que par défaut la première ligne soit initialiser avec "sélectionnez un titre" (malgré cela la classe composite collection est très intéressante et me servira quoiqu'il en soit)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <StackPanel Orientation="Horizontal">
                        <ComboBox x:Name="cbo_s" IsSynchronizedWithCurrentItem="True" Width="162" HorizontalAlignment="Left" Margin="5,10,0,10" DisplayMemberPath="Libelle" SelectedIndex="0">
                            <ComboBox.ItemsSource>
                                <CompositeCollection>
                                    <ComboBoxItem Foreground="Black">Selectionnez un titre</ComboBoxItem>
                                    <CollectionContainer Collection="{Binding}" />                                  
                                </CompositeCollection>
                            </ComboBox.ItemsSource>
                        </ComboBox>
                    </StackPanel>

  4. #4
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Dans la collection de ton ViewModel (si tu utilises ce pattern) qui gère l'itemssource de ta combobox, tu ajoutes ton élément "neutre" (ici, -1, selectionnez blablabla...).

    Ensuite, tu dans le binding de la propriété SelectedValue de ton combobox, tu précises "TargetNullValue = -1".
    -1 ou la valeur de ton élément neutre, hein.

    Et oublies pas d'empêcher l'execution de la commande gérant la validation de ton formulaire, dans le cas où la propriété de ton viewmodel liée à la propriété selectedvalue de ton combobox est égale à la valeur de ton élément neutre.

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse Davcha.

    J'ai appliqué ta méthode et tout a très bien fonctionné même si j'utilise pas totalement le pattern ViewModel car je modifie une appli déjà existante mais j'ai quand même appliqué tout ça sur la collection qui alimente le combobox.

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

Discussions similaires

  1. Valeur par défaut sur une feuille
    Par aritas dans le forum QlikView
    Réponses: 2
    Dernier message: 04/04/2014, 18h34
  2. [AC-2007] Valeur par défaut sur les colonnes d'une liste déroulante.
    Par Gorane dans le forum IHM
    Réponses: 5
    Dernier message: 07/02/2012, 19h26
  3. [AC-2007] Valeur par défaut d'un champ d'une table
    Par gladiamax dans le forum Modélisation
    Réponses: 7
    Dernier message: 12/08/2010, 16h40
  4. valeur par défaut sur une jointure
    Par pedro99 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 26/06/2008, 08h50
  5. Réponses: 3
    Dernier message: 09/03/2006, 15h12

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