【问题标题】:How to make simple combobox with selected value in XAML?如何在 XAML 中使用选定的值制作简单的组合框?
【发布时间】:2009-11-30 09:28:50
【问题描述】:

在纯 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>

【问题讨论】:

    标签: wpf xaml combobox selectedvalue


    【解决方案1】:

    我认为这应该可行。试试。

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

    【讨论】:

    • ComboBoxItem 没有“值”属性。
    • 哦,对不起,应该是 Tag,而不是 value,是我弄错了
    【解决方案2】:
    <ComboBox SelectedValuePath="Content" SelectedValue="{Binding Source="...", Path="..."}">
       <ComboBoxItem Content="..." isSelected="true"/>
       <ComboBoxItem Content="..." />
       <ComboBoxItem Content="..." />
    </ComboBox>
    

    它应该适用于内容、标签...或您想要绑定的任何其他属性。

    【讨论】:

      【解决方案3】:
      <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" 并为项目设置选中状态。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-28
          • 1970-01-01
          • 1970-01-01
          • 2017-04-29
          • 2018-08-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多