我的 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>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top