我为我的TreeView
风格创建了一个静态应用程序资源。我有一个自定义类型作为分层数据模板类型,我们称之为 Foobar。项目HierarchicalDataTemplate
源绑定到 Foobar 的 FooCollection。
自定义对象绑定不是问题。问题是我想TreeViewItem
使用触发器更改所选样式的样式。属性IsMouseOver
触发器的触发器应该如此。但是我找不到任何地方来触发IsSelected
我的属性HierarchicalDataTemplate.Triggers
?
<Style TargetType="TreeView" x:Key="TreeView">
<Setter Property="BorderBrush" Value="{x:Null}"/>
<Setter Property="Background" Value="#00000000"/>
<Style.Resources>
<!--Foobar tree view items-->
<HierarchicalDataTemplate DataType="{x:Type f:Foobar}" ItemsSource="{Binding FooCollection}">
<TextBlock Name="tbbName" Text="{Binding Name}" Foreground="#7FFFFFFF" FontSize="16"/>
<HierarchicalDataTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="tbbName" Property="Effect">
<Setter.Value>
<DropShadowEffect ShadowDepth="0" Color="#7FFFFFFF" Opacity="1" BlurRadius="20"/>
</Setter.Value>
</Setter>
<Setter TargetName="tbbName" Property="Foreground" Value="#AFFFFFFF"/>
</Trigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
</Style.Resources>
</Style>