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.

È stato utile?

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top