如何在XAML中使用选定的值制作简单的组合框?

时间:2009-11-30 09:28:50

标签: wpf xaml combobox selectedvalue

在纯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 个答案:

答案 0 :(得分:17)

我认为这应该有效。试试。

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

答案 1 :(得分:5)

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

它应该与内容,标签......或您想要绑定的任何其他属性一起使用。

答案 2 :(得分:2)

<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 =&#34; True&#34;对于组合框并为项目选择。

答案 3 :(得分:1)

ComboBox元素具有SelectedItem属性,也许这是您需要的属性。