2009-03-03 10 views
1

Je suis confronté à un problème avec l'un de mes projets XBAP (application navigateur WPF):Listbox élément problème de premier plan

Ici, j'ai deux boîtes de liste:

  • Une simple liste contenant le contenu du texte
  • second contenant un dispositif d'expansion en tant que chaque unité:

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

Maintenant, lorsque je clique sur l'élément dans la première zone de liste (sur le côté gauche), le premier plan devient blanc et redevient noir si un autre élément est sélectionné.

Où comme 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:

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

Maintenant, comment puis-je faire la couleur de premier plan de contrôle Expander se comportent comme lorsque un élément listbox est sélectionné/sélection est modifiée? Y at-il une propriété de dépendance que je peux utiliser pour accomplir cela?

Remarque: Je souhaite que la deuxième zone de liste (droite) se comporte exactement comme la première (gauche) en respectant la couleur de premier plan.

Répondre

5

il suffit d'ajouter Foreground="{TemplateBinding TextElement.Foreground}" aux éléments dans le modèle comme celui-ci

<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> 
+0

C'est ce que je cherchais. Merci – Ngm

Questions connexes