在我的程序中,我有一个TreeView
用户将从中选择不同的项目。我的一些项目TreeView
是在我的 c# 代码隐藏中创建时自定义的。
像这样:
public static TreeViewItem newItem = new TreeViewItem() //Child Node
{
Header = new StackPanel //ICON
{
Orientation = Orientation.Horizontal,
Children =
{
new Border {
Width = 12,
Height = 14,
Background = Brushes.Blue,
BorderThickness = new Thickness(1.0),
BorderBrush = Brushes.Black
},
new Label {
Content = "Node1"
}
}
}
};
我希望这些项目foregrounds
在被选中时显示为白色(就像默认节点行为一样)。
这是我迄今为止在 XAML 中尝试过的。这是我设置的样式模板TreeViewItems
。我没有收到编译器错误,但由于某种原因,当我运行程序时,我TreeView
是不可见的。
<Style TargetType="{x:Type TreeViewItem}" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TreeViewItem}">
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True" >
<Setter Property="Foreground" Value="White" />
</Trigger>
<Trigger Property="IsSelected" Value="False" >
<Setter Property="Foreground" Value="Black" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我该如何解决这个问题,以便我的所有TreeView
节点在选择时都显示为白色foregrounds
?