如何使相同的颜色为树视图项目和父
本文关键字:视图 项目 何使相 颜色 | 更新日期: 2023-09-27 18:01:23
我正在wpf中创建树视图。
每个父项目使用转换器设置随机前景色。我希望它的所有子元素都是相同的颜色。仅使用xaml.
下面是我的部分代码:
<HierarchicalDataTemplate DataType="{x:Type sotc:Category}"
ItemsSource="{Binding Path=NoteList}">
<TextBlock Text="{Binding Path=Name}" Forground="{Binding Path=Name, Convert={StaticResource Converter1}}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type sotc:Note}">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
我想做的是设置第二个树视图项(在xaml代码中),在HierarchicalData中的Children与它的父元素相同的背景颜色。有办法做到吗?
谢谢之前,
您可以尝试使用FindAncestor
RelativeSource模式。只需将您的Note
模板替换为以下模板:
<DataTemplate DataType="{x:Type sotc:Note}">
<TextBlock Text="{Binding Path=Name}"
Foreground="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorLevel=2, AncestorType=TreeViewItem}, Path=Header.Name, Converter={StaticResource Converter1}}"/>
</DataTemplate>
我使用了一个DataTemplate,但是如果你喜欢,你可以继续使用HierarchicalDataTemplate