Pergunta

Eu estou enfrentando um problema com um dos meus XBAP (aplicativo de navegador WPF) projetos:

Aqui eu tenho duas caixas de listagem:

  • Uma uma simples lista de conteúdo de texto contendo
  • Segundo um contendo um expansor como cada item:

alt http://i44.tinypic.com/117bpj4.jpg texto

Agora, quando eu clicar sobre o item na primeira caixa de listagem (no lado esquerdo), o primeiro plano muda para branco e, em seguida, muda de volta para o preto se outro item é selecionado.

Onde como para um item na segunda caixa lista (lado direito), quando eu clicar sobre o item, o primeiro plano permanece preto. Isso ocorre porque o conteúdo do texto em si é contido dentro do controle Expander:

alt http://i39.tinypic.com/124vn6u.jpg texto

Agora, como faço para fazer a cor Expander controle Primeiro Plano comportam semelhante a quando um item de caixa de listagem é selecionado / selecção é alterado? Existe alguma propriedade de dependência que eu posso usar para fazer isso?

Nota: eu quero a segunda caixa lista (direita) para se comportar exatamente similar à primeira (esquerda) com a cor de primeiro plano respeito

.
Foi útil?

Solução

Basta adicionar Foreground="{TemplateBinding TextElement.Foreground}" aos elementos no modelo 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top