Question

Je rencontre un problème avec l'un de mes projets XBAP (application de navigateur WPF):

Ici, j'ai deux listes de sélection:

  • Une simple liste contenant du contenu textuel
  • Le second contient un expandeur pour chaque élément:

texte de remplacement http://i44.tinypic.com/117bpj4.jpg

Désormais, lorsque je clique sur l'élément de la première zone de liste (située à gauche), l'avant-plan devient blanc, puis redevient noir si un autre élément est sélectionné.

Où que pour un élément dans la deuxième zone de liste (côté droit), lorsque je clique sur l'élément, le premier plan reste noir. En effet, le contenu du texte lui-même est contenu dans le contrôle Expander:

texte de remplacement http://i39.tinypic.com/124vn6u.jpg

Maintenant, comment faire en sorte que la commande Avant-plan de la couleur de premier plan se comporte comme si un élément de la liste était sélectionné / que la sélection était modifiée? Existe-t-il une propriété de dépendance que je puisse utiliser pour y parvenir?

Remarque: je souhaite que la deuxième zone de liste (à droite) se comporte exactement comme la première (à gauche) en ce qui concerne la couleur de premier plan.

Était-ce utile?

La solution

Ajoutez simplement Foreground = & {{TemplateBinding TextElement.Foreground} & aux éléments du modèle comme ceci

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top