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 :

[XAML] Sélectionner item ComboBox


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut [XAML] Sélectionner item ComboBox
    Bonjour,

    J'ai une ComboBox contenant comme Item des chiffres et je voudrais que le chiffre 1 soit toujours sélectionné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ComboBox SelectedValue="1" >
                                            <ComboBoxItem Content="0" />
                                            <ComboBoxItem Content="1" />
                                            <ComboBoxItem Content="2" />
                                        </ComboBox>
    Cependant aucun item n'est jamais sélectionnée avec ce code.

    Comment faire ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Tu as la propriété IsSelected sur le ComboBoxItem.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ComboBox SelectedValue="1" >
      <ComboBoxItem Content="0" />
      <ComboBoxItem Content="1" IsSelected="True" />
      <ComboBoxItem Content="2" />
    </ComboBox>

  3. #3
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Ah oui merci binoo, en fait c'est comme en HTML.

    Et comment faire pour Binder le SelectedItem avec ma valeur "{Binding Attribute[AoOui].Value}" ?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Citation Envoyé par alex_vino
    Et comment faire pour Binder le SelectedItem avec ma valeur "{Binding Attribute[AoOui].Value}" ?
    Euh là je comprend pas trop...

    Généralement ce qu'on fait :
    - On crée une ICollectionView dont la source est une collection. La collection sera celle qui sera bindée à la ComboBox :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private ICollectionView collectionView;
    private ObservableCollection<string> obs { get; set; }
     
    private void LoadComboBox() {
      this.obs = new ObservableCollection<string>() { "0", "1", "2" };
      this.collectionView = CollectionViewSource.GetDefaultView(this.obs);
      this.comboBox1.DataContext = this;
    }

    - Cette collection est donc bindée :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <ComboBox x:Name="comboBox1" ItemsSource="{Binding obs}" />

    Du coup, après tu travailles tout le temps sur cette collection. Tu peux récupérer l'Item sélectionné avec :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    string strCurrentItem = this.collectionView.CurrentItem as string;


    Je dis tout ça, sans savoir ce que tu veux vraiment...

  5. #5
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Je chercherais quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ComboBox SelectedValue="{Binding Attribute[AoOui].Value}" >
      <ComboBoxItem Content="0" />
      <ComboBoxItem Content="1" />
      <ComboBoxItem Content="2" />
    </ComboBox>
    Avec par exemple "{Binding Attribute[AoOui].Value}" = "1"
    Je ne peux pas utiliser le IsSelected la valeur sélectionnée est fixée par le Binding.
    Peut-être qu'utiliser des Triggers permettrait de le faire mais bon je ne maîtrise pas trop ça.

    Donc j'aimerais qu'en xaml ma ComboBoxItem avec la valeur du Binding soit automatiquement sélectionné.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Essaies avec SelectedItem.

    Sinon la ComboBox, c'est un assez particulier (SelectedItem, SelectedValue, SelectedValuePath, DisplayMemberPath, ...).

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/06/2008, 20h14
  2. Réponses: 3
    Dernier message: 27/02/2008, 14h21
  3. ajout item combobox
    Par cl@ndestIno dans le forum Windows
    Réponses: 1
    Dernier message: 07/02/2007, 20h15
  4. 1er item combobox bleui
    Par rober dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/11/2006, 02h19
  5. conversion item combobox
    Par piscine dans le forum Bases de données
    Réponses: 6
    Dernier message: 18/11/2004, 12h19

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