Hi The problem am having is that I have multiple TreeView control and each TreeView has its own TreeViewItem styles, setting it
TreeView ItemContainerStyle="{StaticResource Style1}"
will only set the root element NOT all the child elements, How to apply a style to all the child elements in a TreeView
There are several ways to accomplish this:
You could make your style the default for all TreeViewItems:
<Style TargetType="{x:Type TreeViewItem}">
...
</Style>
The difference is that you do not set the x:Key attribute, but you do set the TargetType attribute. You do not need to set the ItemContainerStyle on your TreeView in this case.
<TreeView>
<TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource Style1}"/>
</TreeView.Resources>
</TreeView>
In this case you also do not need to set the ItemContainerStyle on your TreeView.
You could also alter your style as follows
<Style x:Key="Style1" TargetType="{x:Type TreeViewItem}">
<Setter Property="ItemContainerStyle" Value="{StaticResource Style1}"/>
</Style>
In this case you'd still have to set the ItemContainerStyle on your TreeView.