2013-07-23 9 views
17

Ho una struttura ad albero. Quando provo a fare clic sui nodi, c'è un colore blu che mostra il nodo selezionato. Come posso rimuoverlo. Non voglio che un colore di selezione sia visualizzato nell'albero.TreeView mostra il blu per l'articolo selezionato

+0

Questa domanda è stata fatta e ha risposto milioni di volte. –

+0

possibile duplicato di [Come si evidenzia una voce con visualizzazione ad albero con un colore?] (Http://stackoverflow.com/questions/876759/how-do-i-highlight-a-treeview-selected-item-with-some -color) –

risposta

43

ItemContainerStyle metodo non funziona per me dire su Windows-8. Ci sono 4 spazzole che in genere corrispondono a questo e utilizzate dal modello predefinito per TreeViewItem

tasti:

HighlightBrushKey - Sfondo con messa a fuoco.

HighlightTextBrushKey - In primo piano con messa a fuoco.

InactiveSelectionHighlightBrushKey - Sfondo senza messa a fuoco.

InactiveSelectionHighlightTextBrushKey - Primo piano senza messa a fuoco.

Proprio li modifichi come meglio credi, per il vostro requisito qualcosa di simile sarebbe adatto:

<TreeView> 
    <TreeView.Resources> 
    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" 
         Color="Transparent" /> 
    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" 
         Color="Black" /> 
    <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" 
         Color="Transparent" /> 
    <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" 
         Color="Black" /> 
    </TreeView.Resources> 
</TreeView> 

si presta attenzione solo a loro ignorando nell'ambito di applicazione desiderato. Ad esempio, se metti tutto questo in App.xaml vedrai alcuni effetti collaterali strani come tutti i controlli che usano questi pennelli finirebbero per usare quelli sovrascritti che potrebbero non essere quello che stai cercando.

+1

Grazie, questo è esattamente quello che stavo cercando !! – HXD

+2

Si noti che 'SystemColors.InactiveSelectionHighlightBrushKey' e' SystemColors.InactiveSelectionHighlightTextBrushKey' è solo per .NET 4.5 o versioni successive. – bitbonk

Problemi correlati