Cambiar TreeViewItem encabezado por el gatillo
-
21-08-2019 - |
Pregunta
Tener tales Estilo
<Style TargetType="TreeViewItem">
<Style.Triggers>
<Trigger Property="IsExpanded" Value="True">
<Setter Property="Header" Value="Pink"></Setter>
</Trigger>
</Style.Triggers>
</Style>
Yo esperaría que el texto de las TreeViewItems ampliadas para ser "rosa", pero nada puse realidad. Si cambio de la propiedad = "fondo" en cambio, funciona. ¿Cómo Encabezado se diferencia de Fondo
Solución
Creo que voy a necesitar más información para responder a esta forma más completa. Sin embargo, si tuviera que adivinar, diría que probablemente está estableciendo la propiedad de cabecera en el TreeViewItem explícitamente como esto:
<TreeView>
<TreeViewItem
Header="Blue"/>
</TreeView>
Y, en este caso, el establecimiento de manera explícita anulará cualquier cosa que se pone en el estilo.
Otros consejos
Para más detalles sobre la respuesta de ascalonx:
el blog de Josh Smith:
Hay un conjunto bien definido de reglas que se utiliza internamente por WPF a averiguar cuál es el valor real de un DP es. He aquí un breve resumen de la reglas de precedencia utilizan cuando resolver el valor de un DP (de mayor a menor prioridad):
- coacción sistema de propiedad
- animaciones activas o animaciones con un comportamiento Mantener
- valor local
- plantilla TemplatedParent
- desencadenantes estilo
- desencadenantes de la plantilla
- emisores de estilo
- estilo de tema
- Inheritance
- El valor por defecto de la dependencia metadatos propiedad
Así que si establece explícitamente la propiedad de cabecera, (o si se unen lo creo), que tiene ese problema.