C# HierarchycalDataTemplate树视图项
我有以下xaml:C# HierarchycalDataTemplate树视图项,c#,treeview,binding,C#,Treeview,Binding,我有以下xaml: <TreeView x:Name="tvCategoryList" Grid.Column="0" Padding="0" ItemsSource="{Binding CategoriesList}"> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Items}"> <TextBlock Text="{Bindin
<TreeView x:Name="tvCategoryList" Grid.Column="0" Padding="0" ItemsSource="{Binding CategoriesList}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Items}">
<TextBlock Text="{Binding ItemName}"/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
在上面的代码中,我绑定了ObservableCollection CategoriesList,其中CustomTreeItem类具有可见性属性。如何更改上述代码以绑定可见性属性,使其在每次(设置为visibile或折叠)选中/取消选中某个项目时都得到更新?您可以使用样式设置器来操作该项目的可见性 您使用的绑定可深入到TreeViewItem的选定属性:
<HierarchicalDataTemplate ItemsSource="{Binding Items}">
<TextBlock Text="{Binding ItemName}">
<TextBlock.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TreeViewItem}}}"
Value="True">
<Setter Property="TextBlock.Visibility" Value="false" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</HierarchicalDataTemplate>
但这并不会降低它的反直观性。您希望它如何工作?更改选择时隐藏树中的项目似乎违反直觉。