将ComboBox中的WPF CheckBox设置为Checked

时间:2013-01-08 11:42:54

标签: wpf data-binding wpf-controls

我有一个自定义WPF控件 - 本质上是一个带复选框的组合框。组合框已成功绑定到可用项列表。

此控件用于表示表单上的字段。表单可能已经完成,在这种情况下,必须使用所选项目呈现控件 - 即先前选择的任何项目必须呈现为已检查的CheckBox;它在这里我遇到了麻烦。

我的第一个想法是简单地绑定IsChecked属性 - 我不认为这可以完成,因为当前所选项的列表与ComboBox绑定的可用项列表不同。

基本上,如何访问CheckBox对象以将Checked属性设置为true?我对此进行了广泛的研究,我无法理解这一点。

我正在使用ItemContainerGenerator方法 - 因此当用户单击下拉列表时,处理程序将迭代CheckBox并设置相关的框以进行检查。

这是XAML:

<ComboBox x:Name="FieldOptions" 
            ItemsSource="{Binding}" 
            HorizontalAlignment="Stretch" 
            Height="30"
            KeyDown="FieldOptions_OnKeyDown">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <CheckBox Name="checkbox"
                      Content="{Binding Path=Text}" 
                      Uid="{Binding Path=ID}"
                      FontStyle="Normal"
                      Foreground="Black"
                      Checked="CheckBox_OnChecked" />
            </DataTemplate>
   </ComboBox.ItemTemplate>

任何想法都会非常感激。

0 个答案:

没有答案