1

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

这里我有两个列表框:

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

替代文字

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

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

替代文字

现在,如何使 Expander 控件前景色的行为类似于选择列表框项/更改选择项时的行为?是否有任何依赖属性可用于完成此操作?

注意:我希望第二个列表框(右)在前景色方面与第一个(左)完全相同。

4

1 回答 1

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>
于 2009-03-03T08:21:24.813 回答