Problema di primo piano dell'elemento della casella di riepilogo
-
03-07-2019 - |
Domanda
Sto affrontando un problema con uno dei miei progetti XBAP (applicazione WPF Browser):
Qui ho due caselle di elenco:
- Uno un semplice elenco contenente contenuti di testo
- Secondo contenente un espansore come ogni elemento:
alt text http://i44.tinypic.com/117bpj4.jpg
Ora, quando faccio clic sull'elemento nella prima casella di riepilogo (a sinistra), il primo piano diventa bianco e poi torna a nero se viene selezionato un altro elemento.
Dove per quanto riguarda un elemento nella seconda casella di riepilogo (lato destro), quando faccio clic sull'elemento, il primo piano rimane nero. Questo perché il contenuto del testo stesso è contenuto nel controllo Expander:
alt text http://i39.tinypic.com/124vn6u.jpg
Ora, come posso fare in modo che il controllo di Expander sia in primo piano con un comportamento simile a quando viene selezionata una voce di elenco / la selezione viene modificata? C'è qualche proprietà di dipendenza che posso usare per ottenere questo risultato?
Nota: voglio che la seconda casella di riepilogo (a destra) si comporti esattamente come la prima (a sinistra) rispetto al colore di primo piano.
Soluzione
Aggiungi Foreground = " {TemplateBinding TextElement.Foreground} "
agli elementi nel template in questo modo
<DataTemplate DataType="{x:Type l:City}">
<Expander
Header="Click to Expand"
Foreground="{TemplateBinding TextElement.Foreground}"
>
<TextBlock
Text="{Binding Name}"
Foreground="{TemplateBinding TextElement.Foreground}"
/>
</Expander>
</DataTemplate>