我正在尝试展开一个元素来填充Expander.Header
的水平空间。我之前问了一个类似的问题,虽然我已经意识到这个问题的前提是不正确的。使用Grids
或DockingPanels
似乎对元素填充Expander.Header
的水平空间的能力没有影响。
更多挖掘表明,标题的ContentPresenter
会自动设置为HorizontalAlignment.Left
。我该如何改变这个?
答案 0 :(得分:0)
唯一的方法是找到扩展器的源xaml并按照你想要的方式修改它,创建自己的扩展器样式。
答案 1 :(得分:0)
您要找的是ControlTemplate
。请参阅here.您必须覆盖Expander
的默认模板。
您可以使用以下内容声明一个将影响所有Expander
控件的模板:
<ControlTemplate TargetType="Expander">
...
</ControlTemplate>
或者,您可以在Template
。
Style
属性
<Style TargetType="Expander">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Expander">
...
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>