题
我的 XBAP(WPF 浏览器应用程序)项目之一遇到问题:
这里我有两个列表框:
- 一个包含文本内容的简单列表
- 第二个包含一个扩展器作为每个项目:
替代文本 http://i44.tinypic.com/117bpj4.jpg
现在,当我单击第一个列表框(左侧)中的项目时,前景会变为白色,如果选择了另一个项目,则前景会变回黑色。
至于第二个列表框(右侧)中的项目,当我单击该项目时,前景保持黑色。这是因为文本内容本身包含在 Expander 控件中:
替代文本 http://i39.tinypic.com/124vn6u.jpg
现在,如何使 Expander 控件的前景色表现得与选择列表框项/更改选择时类似?是否有任何依赖属性可以用来完成此任务?
笔记:我希望第二个列表框(右)在前景色方面与第一个列表框(左)完全相同。
解决方案
只需添加 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>
不隶属于 StackOverflow