繁体   English   中英

更改列表框项目的前景色

[英]Change Listbox item foreground color

我遇到一个XBAP(WPF浏览器应用程序)项目的问题:

这里有两个列表框:

  • 一个包含文本内容的简单列表
  • 第二个包含扩展器作为每个项目:

替代文字

现在,当我单击第一个列表框(左侧)中的项目时,前景变为白色,然后如果选择了另一个项目,则变为黑色。

至于第二个列表框(右侧)中的某个项目,当我单击该项目时,前景保持黑色。 这是因为文本内容本身包含在Expander控件中:

替代文字

现在如何使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 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM