Frage

Mit solchen Style

<Style TargetType="TreeViewItem">
  <Style.Triggers>
    <Trigger Property="IsExpanded" Value="True">
      <Setter Property="Header" Value="Pink"></Setter>
    </Trigger>
  </Style.Triggers>
</Style>

Ich würde erwarten, dass der Text des erweiterten TreeViewItems „Pink“ zu sein, aber nichts gesetzt tatsächlich. Wenn ich auf Property = „Hintergrund“ statt ändern, es funktioniert. Wie Header unterscheidet sich von Hintergrund

War es hilfreich?

Lösung

Ich denke, ich werde weitere Informationen benötigen diese mehr vollständig zu beantworten. Allerdings, wenn ich erraten, ich würde sagen, Sie sind wahrscheinlich die Header-Eigenschaft auf dem TreeViewItem explizit wie diese Einstellung:

<TreeView>
    <TreeViewItem
        Header="Blue"/>
</TreeView>

Und in diesem Fall ist es Einstellung wird ausdrücklich außer Kraft setzt alles, was Sie im Stil setzen.

Andere Tipps

Um näher auf ascalonx Antwort:

kopiert von Josh Smith Blog:

  

Es gibt einen gut definierten Satz von Regeln   die intern von WPF wird verwendet, um   herauszufinden, was den realen Wert eines DP   ist. Hier ist eine kurze Zusammenfassung der   Vorrangsregeln verwendet wird, wenn   Auflösen des Wertes eines DP (von   höchste zur niedrigsten Priorität):

     
      
  1. Property System Zwang
  2.   
  3. Aktive Animationen oder Animationen   mit einem Hold-Verhalten
  4.   
  5. Lokale Wert
  6.   
  7. TemplatedParent template
  8.   
  9. Style Trigger
  10.   
  11. Template Auslöser
  12.   
  13. Style Setter
  14.   
  15. Thema Stil
  16.   
  17. Vererbung
  18.   
  19. Standardwert aus der Abhängigkeit    Eigenschaft Metadaten
  20.   

Wenn Sie also explizit die Header-Eigenschaft festgelegt, (oder wenn Sie binden es glaube ich), Sie haben dieses Problem.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top