2009-11-30 8 views
9

Quelle est la syntaxe correcte pour sélectionner un élément de zone de liste déroulante avec valeur (pas index) en pur XAML?Comment faire simple combobox avec la valeur sélectionnée dans XAML?

ne fonctionne pas:

<StackPanel> 
    <ComboBox SelectedValue="CA"> 
     <ComboBoxItem Tag="CO">Colorado</ComboBoxItem> 
     <ComboBoxItem Tag="CA">California</ComboBoxItem> 
     <ComboBoxItem Tag="NM">New Mexico</ComboBoxItem> 
    </ComboBox> 
</StackPanel> 

ne fonctionne pas:

<StackPanel> 
    <ComboBox SelectedValue="CA"> 
     <ComboBoxItem Value="CO">Colorado</ComboBoxItem> 
     <ComboBoxItem Value="CA">California</ComboBoxItem> 
     <ComboBoxItem Value="NM">New Mexico</ComboBoxItem> 
    </ComboBox> 
</StackPanel> 

Même cela ne fonctionne pas:

<ComboBox SelectedValue="Colorado"> 
    <ComboBoxItem Tag="CO">Colorado</ComboBoxItem> 
    <ComboBoxItem Tag="CA">California</ComboBoxItem> 
    <ComboBoxItem Tag="NM">New Mexico</ComboBoxItem> 
</ComboBox> 

Cela ne fonctionne pas:

<StackPanel> 
    <ComboBox SelectedItem="CA"> 
     <ComboBoxItem Tag="CO">Colorado</ComboBoxItem> 
     <ComboBoxItem Tag="CA">California</ComboBoxItem> 
     <ComboBoxItem Tag="NM">New Mexico</ComboBoxItem> 
    </ComboBox> 
</StackPanel> 

Répondre

16

Je pense que cela devrait fonctionner. Essaye.

<StackPanel> 
    <ComboBox> 
     <ComboBoxItem Tag="CO">Colorado</ComboBoxItem> 
     <ComboBoxItem Tag="CA" IsSelected="True">California</ComboBoxItem> 
     <ComboBoxItem Tag="NM">New Mexico</ComboBoxItem> 
    </ComboBox> 
</StackPanel> 
+2

ComboBoxItem n'a pas de propriété "Value". –

+2

oh je suis désolé, devrait être Tag, pas la valeur, était une erreur de ma part – martin

1

L'élément ComboBox possède une propriété SelectedItem, cela est peut-être celui que vous avez besoin.

4
<ComboBox SelectedValuePath="Content" SelectedValue="{Binding Source="...", Path="..."}"> 
    <ComboBoxItem Content="..." isSelected="true"/> 
    <ComboBoxItem Content="..." /> 
    <ComboBoxItem Content="..." /> 
</ComboBox> 

Il devrait travailler avec le contenu, étiquette ... ou tout autre propriété que vous souhaitez lier.

1
<StackPanel> 
    <ComboBox AllowDrop="True"> 
     <ComboBoxItem Tag="CO">Colorado</ComboBoxItem> 
     <ComboBoxItem Tag="CA" IsSelected="True">California</ComboBoxItem> 
     <ComboBoxItem Tag="NM">New Mexico</ComboBoxItem> 
    </ComboBox> 
</StackPanel> 

Vous devez définir AllowDrop = "True" pour la liste déroulante et être sélectionnée pour l'élément.