Hay varias maneras de lograr esto:
usted podría hacer su estilo por defecto para todos los TreeViewItems:
<Style TargetType="{x:Type TreeViewItem}">
...
</Style>
La diferencia es que no se establece el atributo x: Key, pero usted establece el atributo TargetType. No es necesario que configure ItemContainerStyle en su TreeView en este caso.
También podría establecer su estilo como el estilo por defecto para todos los TreeViewItems, pero sólo dentro de su TreeView:
<TreeView>
<TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource Style1}"/>
</TreeView.Resources>
</TreeView>
En este caso también no es necesario ajustar la ItemContainerStyle en su TreeView.
También podría alterar su estilo de la siguiente manera
<Style x:Key="Style1" TargetType="{x:Type TreeViewItem}">
<Setter Property="ItemContainerStyle" Value="{StaticResource Style1}"/>
</Style>
En este caso, todavía habría que fijar la ItemContainerStyle en su TreeView.
Creo que vale la pena mencionar acerca de DataTemplates. Quién sabe, quizás Chandimal quiera cambiar el contenido de TreeViewItem, no el estilo contenedor, pero no se da cuenta de esto ... Solo un pensamiento :). – Anvaka
¡Gracias! ¡Esto es lo que estaba buscando !. Se trata de cambiar el color de fondo/selección, etc. – Chandimal