Применить стиль ко всем TreeViewItem
Привет проблема в том, что у меня есть несколько элементов управления TreeView, и каждый TreeView имеет свои собственные стили TreeViewItem, установка
TreeView ItemContainerStyle= " {StaticResource Style1}"
будет только установить корневой элемент не все дочерние элементы, как применить стиль ко всем дочерним элементам в TreeView
1 ответов
есть несколько способов сделать это:
вы можете сделать свой стиль по умолчанию для всех TreeViewItems:
<Style TargetType="{x:Type TreeViewItem}">
...
</Style>
разница в том, что вы не устанавливаете атрибут x:Key, но вы устанавливаете атрибут TargetType. В этом случае вам не нужно устанавливать ItemContainerStyle на вашем TreeView.
Вы также можете установить свой стиль как стиль по умолчанию для всех TreeViewItems, но только в пределах вашего TreeView:
<TreeView>
<TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource Style1}"/>
</TreeView.Resources>
</TreeView>
В этом случае вы также не нужно устанавливать ItemContainerStyle на вашем TreeView.
вы также можете изменить свой стиль следующим образом
<Style x:Key="Style1" TargetType="{x:Type TreeViewItem}">
<Setter Property="ItemContainerStyle" Value="{StaticResource Style1}"/>
</Style>
в этом случае вам все равно придется установить ItemContainerStyle на вашем TreeView.