0

如何将 WPF Expander 图像设置为 +/- 例如看起来像 Outlook ListView 组标题,如下图所示:

打开 替代文字

关闭 替代文字

4

2 回答 2

5

不完全但足够接近,请查看Karl Shifflet关于WPF 示例系列的这篇文章 - WPF LOB 旅游材料中的列表框分组、排序、小计和可折叠区域

ListBox 分组、排序、小计和可折叠区域
(来源:wordpress.com

于 2009-06-12T13:06:48.580 回答
0

您必须覆盖 Expander 的 ControlTemplate,并使用您的标题内容更改 ContentControl 与 Header 的 TemplateBinding(这通常是一个 ToggleButton)。

在您的情况下,这是 +/- 图像/几何图形和文本。

但是,我会采用与使用扩展器不同的方法。由于您使用的是非常特定的方向,因此我将借用默认 Expander ContentControl 组合的 ToggleButton+ContentControl 交互,并为 ToggleButton 创建一个新的 Style/ControlTemplate。

我推荐这个而不是覆盖 Expander 的 ControlTemplate 的主要原因是 Expander 有一个非常大的默认 ControlTemplate 定义,您不必处理覆盖所有 ExpandDirection 选项。

或者,您可以忽略 Expander 的 ExpandDirection 属性并删除处理该问题的 ControlTemplate 触发器代码和相关联的样式。

于 2009-05-29T23:27:33.003 回答