Problema de primer plano de elemento de cuadro de lista
-
03-07-2019 - |
Pregunta
Estoy enfrentando un problema con uno de mis proyectos XBAP (aplicación WPF Browser):
Aquí tengo dos cuadros de lista:
- Una lista simple que contiene contenido de texto
- El segundo que contiene un expansor como cada elemento:
texto alternativo http://i44.tinypic.com/117bpj4.jpg
Ahora cuando hago clic en el elemento en el primer cuadro de lista (en el lado izquierdo), el primer plano cambia a blanco y luego vuelve a negro si se selecciona otro elemento.
En cuanto a un elemento en el segundo cuadro de lista (lado derecho), cuando hago clic en el elemento, el primer plano permanece en negro. Esto se debe a que el contenido del texto en sí está contenido dentro del control Expander:
texto alternativo http://i39.tinypic.com/124vn6u.jpg
Ahora, ¿cómo puedo hacer que el color de primer plano del control de Expansión se comporte de manera similar cuando se selecciona un elemento del cuadro de lista / se cambia la selección? ¿Hay alguna propiedad de dependencia que pueda usar para lograr esto?
Nota: quiero que el segundo cuadro de lista (derecha) se comporte exactamente igual al primero (izquierda) con respecto al color de primer plano.
Solución
Solo agrega Foreground = " {TemplateBinding TextElement.Foreground} "
a los elementos en la plantilla como este
<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>