将WPF Expander设置为Outlook ListView组标题

问题描述 投票:0回答:2

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

打开alt text

关闭alt text

wpf listview expander
2个回答
5
投票

不完全但足够接近,请查看Karl Shifflet关于来自WPF LOB Tour Materials的WPF Sample Series – ListBox Grouping, Sorting, Subtotals and Collapsible Regions的这篇文章

ListBox Grouping, Sorting, Subtotals and Collapsible Regions (来源:wordpress.com


0
投票

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

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

但是,我会采用与使用Expander不同的路线。由于您使用的是非常具体的方向,我只需借用默认Expander ContentControl组合的ToggleButton + ContentControl交互,并为ToggleButton创建一个新的Style / ControlTemplate。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.