我遇到了一个XBAP(WPF浏览器应用程序)项目的问题:
这里有两个列表框:
alt text http://i44.tinypic.com/117bpj4.jpg
现在,当我点击第一个列表框中的项目(左侧)时,前景会变为白色,如果选择了其他项目,则会变回黑色。
对于第二个列表框(右侧)中的项目,当我单击该项目时,前景保持黑色。这是因为文本内容本身包含在Expander控件中:
alt text http://i39.tinypic.com/124vn6u.jpg
现在,如何使Expander控件前景色的行为类似于选择列表框项目/选择更改时的行为?是否有任何依赖属性可用于实现此目的?
注意:我希望第二个列表框(右)的行为与第一个(左)的前景色完全相似。
答案 0 :(得分:5)
只需将Foreground="{TemplateBinding TextElement.Foreground}"
添加到模板中的元素,就像这样
<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>