Как сделать простой комбобокс с выбранным значением в XAML? - PullRequest
9 голосов
/ 30 ноября 2009

Каков правильный синтаксис для выбора элемента комбинированного списка со значением (не индекс) в чистом XAML?

Не работает:

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

Не работает:

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

Даже это не работает:

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

Это не работает:

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

Ответы [ 4 ]

18 голосов
/ 30 ноября 2009

Я думаю, что это должно работать. Попробуй.

<StackPanel>
    <ComboBox>
        <ComboBoxItem Tag="CO">Colorado</ComboBoxItem>
        <ComboBoxItem Tag="CA" IsSelected="True">California</ComboBoxItem>
        <ComboBoxItem Tag="NM">New Mexico</ComboBoxItem>
    </ComboBox>
</StackPanel>
5 голосов
/ 03 августа 2014
<ComboBox SelectedValuePath="Content" SelectedValue="{Binding Source="...", Path="..."}">
   <ComboBoxItem Content="..." isSelected="true"/>
   <ComboBoxItem Content="..." />
   <ComboBoxItem Content="..." />
</ComboBox>

Он должен работать с контентом, тегом ... или любым другим свойством, которое вы хотите связать.

2 голосов
/ 26 ноября 2014
<StackPanel>
    <ComboBox AllowDrop="True">
        <ComboBoxItem Tag="CO">Colorado</ComboBoxItem>
        <ComboBoxItem Tag="CA" IsSelected="True">California</ComboBoxItem>
        <ComboBoxItem Tag="NM">New Mexico</ComboBoxItem>
    </ComboBox>
</StackPanel>

Вам необходимо установить AllowDrop = "True" для комбинированного списка и выбрать его для элемента.

1 голос
/ 30 ноября 2009

Элемент ComboBox имеет свойство SelectedItem, возможно, это именно то, что вам нужно.

...