如何扩展元素以填充扩展标题?

时间:2015-05-27 02:52:39

标签: wpf xaml layout header expander

我正在尝试展开一个元素来填充Expander.Header的水平空间。我之前问了一个类似的问题,虽然我已经意识到这个问题的前提是不正确的。使用GridsDockingPanels似乎对元素填充Expander.Header的水平空间的能力没有影响。

更多挖掘表明,标题的ContentPresenter会自动设置为HorizontalAlignment.Left。我该如何改变这个?

2 个答案:

答案 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>