2009-05-18 12 views
6

Ho una vista ad albero in WPF. Voglio un colore diverso quando seleziono il treeviewitem.Come si evidenzia una voce di visualizzazione ad albero con un colore?

+5

Penso che questo sia più o meno un duplicato di http://stackoverflow.com/questions/388232/ ... lo stesso trucco che ho usato in quella risposta si applicherà a TreeView. –

+0

@MattHamilton e hevgen sono entrambi corretti. Usa l'esempio del codice nel link di Matt. Funziona bene con TreeView. OP, per favore accetta una risposta. – Heliac

risposta

-1

Provare il seguente codice. Dovrebbe funzionare.

<Style TargetType="{x:Type TreeViewItem}"> 
    <Style.Triggers> 
     <Trigger Property="IsSelected" Value="True"> 
      <Setter Property="Background" Value="Yellow"/> 
     </Trigger> 
    </Style.Triggers> 
</Style> 
9

semplice trigger TreeView.ItemContainerStyle non può fare per il modello predefinito TreeView.

Per l'evidenziazione modello standard viene eseguita tramite modifica in background per lo specifico elemento all'interno del modello TreeView. Questo elemento specifico non è accessibile per il programmatore senza la modifica del modello TreeView. Per risorsa predefinita viene utilizzato per impostare lo sfondo su questo elemento per l'evidenziazione.

così ci sono pochi modi:

  1. semplice (ma possibili effetti indesiderati): ridefinire risorsa con la chiave {x: Statico SystemColors.HighlightBrushKey} per TreeView o ItemsPanel modello;
  2. Ridefinire il modello completo per TreeView.
Problemi correlati