Data Bound ComboBox部分无法点击

时间:2013-09-18 16:35:58

标签: wpf data-binding combobox

我有一些像这样设置的ComboBox:

    <ComboBox Name="CB_OS" Grid.Row="5" ItemsSource="{Binding OS_Sellection}" SelectedIndex="0" Margin="2" SelectionChanged="OSSelectionChanged">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <ComboBoxItem Content="{Binding Name}" IsSelected="{Binding IsSelected, Mode=TwoWay}"/>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>

ComboBox正确填充ComboBoxItems,但单击文本(Content)不会选择Item。我必须点击其他地方,没有文字来实际更改所选项目。

如果我将其更改为:

<ComboBox Name="CB_OS" Grid.Row="5" SelectedIndex="0" Margin="2" SelectionChanged="OSSelectionChanged">
            <ComboBoxItem Content="OOOOOOOOO"/>
            <ComboBoxItem Content="OOOOOOOOO"/>
            <ComboBoxItem Content="OOOOOOOOO"/>
</ComboBox>

它工作正常。

OS_Selection仅包含以下成员:

private string name;
private bool isChecked;
private bool isSelected;

所以我的问题是:如何让整行(项目)可点击?

1 个答案:

答案 0 :(得分:1)

请勿在{{1​​}}

中加入ComboBoxItem

改变这个:

ComboBox.ItemTemplate

为此:

     <ComboBox Name="CB_OS" Grid.Row="5" ItemsSource="{Binding OS_Sellection}" SelectedIndex="0" Margin="2" SelectionChanged="OSSelectionChanged">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <ComboBoxItem Content="{Binding Name}" IsSelected="{Binding IsSelected, Mode=TwoWay}"/>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>

此外,WPF不会绑定到<ComboBox Grid.Row="5" Margin="2" ItemsSource="{Binding OS_Sellection}" DisplayMemberPath="Name"/> ,只会绑定private fields