Aplicar estilo a todos TreeViewItem
-
21-09-2019 - |
Pregunta
Hola El problema estoy teniendo es que no tengo control TreeView múltiple y cada uno tiene sus propias TreeView estilos TreeViewItem, configurarlo
TreeView ItemContainerStyle = "{StaticResource Style1}"
sólo se configurará el elemento raíz no todos los elementos secundarios, Cómo aplicar un estilo a todos los elementos secundarios en un TreeView
Solución
Hay varias maneras de lograr esto:
Se 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 sí establece el atributo TargetType. No es necesario para establecer el 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 tampoco es necesario configurar el ItemContainerStyle en su TreeView.
También puede 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, usted todavía tiene que establecer la ItemContainerStyle en su TreeView.