What is the correct syntax to select a combobox item with value (not index) in pure XAML?
Doesn't work:
<StackPanel>
<ComboBox SelectedValue="CA">
<ComboBoxItem Tag="CO">Colorado</ComboBoxItem>
<ComboBoxItem Tag="CA">California</ComboBoxItem>
<ComboBoxItem Tag="NM">New Mexico</ComboBoxItem>
</ComboBox>
</StackPanel>
Doesn't work:
<StackPanel>
<ComboBox SelectedValue="CA">
<ComboBoxItem Value="CO">Colorado</ComboBoxItem>
<ComboBoxItem Value="CA">California</ComboBoxItem>
<ComboBoxItem Value="NM">New Mexico</ComboBoxItem>
</ComboBox>
</StackPanel>
Even this doesn't work:
<ComboBox SelectedValue="Colorado">
<ComboBoxItem Tag="CO">Colorado</ComboBoxItem>
<ComboBoxItem Tag="CA">California</ComboBoxItem>
<ComboBoxItem Tag="NM">New Mexico</ComboBoxItem>
</ComboBox>
This doesn't work:
<StackPanel>
<ComboBox SelectedItem="CA">
<ComboBoxItem Tag="CO">Colorado</ComboBoxItem>
<ComboBoxItem Tag="CA">California</ComboBoxItem>
<ComboBoxItem Tag="NM">New Mexico</ComboBoxItem>
</ComboBox>
</StackPanel>
I think this should work. Have a try.
<StackPanel>
<ComboBox>
<ComboBoxItem Tag="CO">Colorado</ComboBoxItem>
<ComboBoxItem Tag="CA" IsSelected="True">California</ComboBoxItem>
<ComboBoxItem Tag="NM">New Mexico</ComboBoxItem>
</ComboBox>
</StackPanel>
<ComboBox SelectedValuePath="Content" SelectedValue="{Binding Source="...", Path="..."}">
<ComboBoxItem Content="..." isSelected="true"/>
<ComboBoxItem Content="..." />
<ComboBoxItem Content="..." />
</ComboBox>
It should work with content, tag... or any other property you'd like to bind.
<StackPanel>
<ComboBox AllowDrop="True">
<ComboBoxItem Tag="CO">Colorado</ComboBoxItem>
<ComboBoxItem Tag="CA" IsSelected="True">California</ComboBoxItem>
<ComboBoxItem Tag="NM">New Mexico</ComboBoxItem>
</ComboBox>
</StackPanel>
You need to set AllowDrop="True" for the combobox and isselected for the item.
The ComboBox element has a SelectedItem
property, maybe this is the one you need.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With