我有以下xaml:
<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具有可见性属性。如何更改上面的代码以绑定可见性属性,使其在每次选择/取消选择项时(设置为可见或折叠)进行更新?
发布于 2011-04-27 04:21:18
您将使用样式设置器来操作项目的可见性。
您可以使用向上挖掘TreeViewItem的selected属性的绑定:
<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>但这并不会降低它的反直觉。
https://stackoverflow.com/questions/3733136
复制相似问题