<TreeView Name="tvDataTags" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="7" ItemsSource="{Binding}"> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Path=Value}"> <CheckBox x:Name="checkAll" Content="{Binding Path=Key}"></CheckBox> <HierarchicalDataTemplate.ItemTemplate> <DataTemplate> <CheckBox x:Name="checkChildren" Content="{Binding Path=TagName}"></CheckBox> </DataTemplate> </HierarchicalDataTemplate.ItemTemplate> </HierarchicalDataTemplate> </TreeView.ItemTemplate> </TreeView>
现在怎么遍历除根节点外的所有选中的checkbox啊?急
既然你用了绑定, 那么就好办
你现在你的数据源,添加一个 属性比如 IsChecked ,然后将它与CheckBox 绑定。
(如果不想加属性,可以做个外包装)
之后,你可以用冒泡时间,集中处理。。
<DataTemplate> <CheckBox Content="{Binding}" IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}, Path=IsSelected" /> </DataTemplate>
FYI