【发布时间】:2008-11-19 10:20:01
【问题描述】:
我有一个listbox 控件。我为这个listbox 创建了一个ItemTemplate,其中有两个控件。
- 切换按钮
- 列表框控件
结构
<Listbox x:Key="Listbox1" ItemTemplate={StaticResource ListBox1ParentItemTemplate}>
</Listbox>
<Datatemplate x:Key="ListBox1ParentItemTemplate">
<ToggleButton></ToggleButton>
<Listbox x:Key="Listbox1" ItemTemplate={StaticResource ListBox2ParentItemTemplate}>
</Listbox>
</Datatemplate>
<Datatemplate x:Key="ListBox2ParentItemTemplate">
<TextBlock Text="{Binding Mode=Default, XPath=@Description}" TextWrapping="Wrap"/>
<CheckBox DockPanel.Dock="Right" />
</Datatemplate>
基本上Listbox2 是CheckedListbox。我的要求如下
1. 将ToggleButton 绑定到Listbox1 SelectedItem,即如果在Listbox1 中选择了第4 项,则应自动选中第4 项的切换按钮,而应取消选中其他切换按钮。
2. 如果ToggleButton 被选中,那么Listbox2 中的所有复选框都应该被自动选中。此外,如果 Listbox2 中的复选框之一未选中,则 ToogleButton 应自动取消选中。 (此功能类似于TreeNode 和子节点功能。如果选中父节点,则选择所有子节点,如果未选择子节点之一,则应取消选择父节点)。
【问题讨论】: