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.

¿Fue útil?

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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top