Istnieje kilka sposobów, aby tego dokonać:
Można zrobić swój styl domyślny dla wszystkich TreeViewItems:
<Style TargetType="{x:Type TreeViewItem}">
...
</Style>
Różnica polega na tym, że nie należy ustawiać x: Key atrybut, ale trzeba ustawić atrybut TargetType. W takim przypadku nie trzeba ustawiać ItemContainerStyle na swoim TreeView.
Można także ustawić swój styl jako domyślny styl dla wszystkich TreeViewItems, ale tylko w obrębie swojej TreeView:
<TreeView>
<TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource Style1}"/>
</TreeView.Resources>
</TreeView>
W tym przypadku również nie należy ustawić ItemContainerStyle na TreeView.
Można także zmienić swój styl następująco
<Style x:Key="Style1" TargetType="{x:Type TreeViewItem}">
<Setter Property="ItemContainerStyle" Value="{StaticResource Style1}"/>
</Style>
W tym przypadku, że trzeba jeszcze ustawić ItemContainerStyle na TreeView.
Myślę, że warto wspomnieć o DataTemplates. Kto wie, może Chandimal chce zmienić zawartość TreeViewItem, a nie styl kontenera, ale nie zdaje sobie z tego sprawy ... Tylko myśl :). – Anvaka
Dzięki !, Tego właśnie szukałem !. Chodzi o zmianę koloru tła/selekcji itp. – Chandimal