I have created a static application resource for my TreeView
style. I have a custom type as the hierarchical data template type, let's call it Foobar. The HierarchicalDataTemplate
items source is bound to the Foobar's FooCollection.
The custom object binding is not an issue. Problem is I want to change style of the selected TreeViewItem
using triggers. The trigger for property IsMouseOver
trigger as it should. But I cannot find anywhere to trigger the property IsSelected
in my 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>