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

Edw*_*uay 10 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>
Run Code Online (Sandbox Code Playgroud)

不起作用:

<StackPanel>
    <ComboBox SelectedValue="CA">
        <ComboBoxItem Value="CO">Colorado</ComboBoxItem>
        <ComboBoxItem Value="CA">California</ComboBoxItem>
        <ComboBoxItem Value="NM">New Mexico</ComboBoxItem>
    </ComboBox>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

即便这样也行不通:

<ComboBox SelectedValue="Colorado">
    <ComboBoxItem Tag="CO">Colorado</ComboBoxItem>
    <ComboBoxItem Tag="CA">California</ComboBoxItem>
    <ComboBoxItem Tag="NM">New Mexico</ComboBoxItem>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

这不起作用:

<StackPanel>
    <ComboBox SelectedItem="CA">
        <ComboBoxItem Tag="CO">Colorado</ComboBoxItem>
        <ComboBoxItem Tag="CA">California</ComboBoxItem>
        <ComboBoxItem Tag="NM">New Mexico</ComboBoxItem>
    </ComboBox>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

mar*_*tin 18

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

<StackPanel>
    <ComboBox>
        <ComboBoxItem Tag="CO">Colorado</ComboBoxItem>
        <ComboBoxItem Tag="CA" IsSelected="True">California</ComboBoxItem>
        <ComboBoxItem Tag="NM">New Mexico</ComboBoxItem>
    </ComboBox>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

  • ComboBoxItem没有"Value"属性. (2认同)
  • 哦,对不起,应该是Tag,而不是价值,是我的错误 (2认同)

小智 5

<ComboBox SelectedValuePath="Content" SelectedValue="{Binding Source="...", Path="..."}">
   <ComboBoxItem Content="..." isSelected="true"/>
   <ComboBoxItem Content="..." />
   <ComboBoxItem Content="..." />
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

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