在xaml中为组合框设置选定值的问题

时间:2011-02-28 19:07:55

标签: .net wpf xaml combobox

以下是我的xaml的片段:

    <ComboBox x:Name="cbo1" Width="100" SelectedValue="200">
        <ComboBoxItem Name="n1">100</ComboBoxItem>
        <ComboBoxItem Name="n2">200</ComboBoxItem>
    </ComboBox>

为什么这不起作用?运行时未选择“200”。 理想情况下,我尝试做SelectedValue =“{Binding MyValue}”。

2 个答案:

答案 0 :(得分:4)

在这种情况下,所选值来自ComboBoxItem类型,而不是您希望的整数或字符串。

那么你能做些什么呢?组合框存在一个属性,它定义所选对象的哪个属性应该用作值,哪个属性为DisplayMember(可视化)

在您的情况下,您必须将SelectedValuePath设置为“Content”。 (在你的情况下,200是ComboBoxItem的内容)

示例:

<ComboBox x:Name="cbo1" Width="100" SelectedValue="200" SelectedValuePath="Content">
    <ComboBoxItem Name="n1">100</ComboBoxItem>
    <ComboBoxItem Name="n2">200</ComboBoxItem>
</ComboBox>

答案 1 :(得分:0)

 <ComboBox x:Name="cbo1" Width="100" >
       <ComboBoxItem Name="n1">100</ComboBoxItem>
       <ComboBoxItem Name="n2" IsSelected="True">200</ComboBoxItem>
 </ComboBox>