我正在尝试修改TreeViewItem的样式,但我的更改会被忽略。在以下示例中,项目在代码隐藏中添加,并且设置字体颜色不起作用。
<UserControl ...>
<Grid>
<TreeView x:Name="myTree">
<TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="Foreground" Value="Orange"/>
</Style>
</TreeView.Resources>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Items}">
<TextBlock Text="{Binding Title}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</Grid>
</UserControl>
这是复杂项目的一部分。某些全局设置是否可能覆盖我的本地资源?我无法弄清楚问题是什么。
我注意到如果我使用x:Key值显式设置此样式,它适用于除root之外的所有节点。
<TreeView.Resources>
<Style x:Key="myStyle" TargetType="{x:Type TreeViewItem}">
...
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemContainerStyle="{StaticResource myStyle}" ItemsSource="{Binding Items}">
...
我可以使用x:所有节点的键值显式设置我的样式吗?