0

我有一个 TreeView,并且使用 HierarchicalDataTemplates 的 TreeView 有多个层。每个 TreeViewItem 当前都显示它所代表的对象的“名称”。我现在需要将 CheckBoxes 添加到我已经想通的树的子级中,但是我还没有想出在选中复选框时访问复选框的名称。

更具体地说,我需要选中的复选框的名称,因为我需要相应地对某些数据应用过滤器。当检查 CheckBox 和 TreeViewItem 的对象的名称是否是从数据动态创建时,如何访问每个 CheckBox 的名称?

4

1 回答 1

1

我假设您的视图模型中有一个相应的命令,树中的所有复选框项都绑定到该命令。

绑定到命令并作为 CommandParameter 发送到 ComboBoxItem 的当前名称

  <DataTemplate x:Key="ListBoxItemTemplate" DataType="{x:Type ListBoxItem}">
        <CheckBox Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListBox}, 
                  Path=DataContext.CheckBoxItemCheckedCommand}"
                  CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Name}"/>                       
   </DataTemplate>
于 2012-10-03T22:24:48.650 回答