我有一个自定义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>
任何想法都会非常感激。