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

¿Fue útil?

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):

     
      
  1. coacción sistema de propiedad
  2.   
  3. animaciones activas o animaciones   con un comportamiento Mantener
  4.   
  5. valor local
  6.   
  7. plantilla TemplatedParent
  8.   
  9. desencadenantes estilo
  10.   
  11. desencadenantes de la plantilla
  12.   
  13. emisores de estilo
  14.   
  15. estilo de tema
  16.   
  17. Inheritance
  18.   
  19. El valor por defecto de la dependencia    metadatos propiedad
  20.   

Así que si establece explícitamente la propiedad de cabecera, (o si se unen lo creo), que tiene ese problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top