如何在展开或折叠时更改WPF扩展器标题文本?

时间:2010-04-09 00:01:01

标签: .net wpf expander

使用WPF扩展器,我希望在扩展控件时,Header从查看更多更改为查看更少,然后返回查看更多当它再次崩溃时 我更喜欢WPF纯解决方案,而不是C#或其他代码隐藏方法。 我觉得这应该很容易,但我正在努力寻找合适的条款来通过谷歌获得解决方案。

谢谢!

2 个答案:

答案 0 :(得分:21)

您可以在样式触发器中执行此操作:

<Expander>
    <Expander.Style>
        <Style TargetType="Expander">
            <Setter Property="IsExpanded" Value="False" />
            <Setter Property="Header" Value="See More" />

            <Style.Triggers>
                <DataTrigger Binding="{Binding IsExpanded,RelativeSource={RelativeSource Self}}" Value="True">
                    <Setter Property="Header" Value="See Less" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Expander.Style>
</Expander>

这是未经测试的,但它应该给你一些东西继续。

答案 1 :(得分:4)

旧(我知道),但这可以通过使用两个简单的Trigger而无需绑定来完成:

<Expander>
    <Expander.Style>
        <Style TargetType="Expander" >
            <Style.Triggers>
                <Trigger Property="IsExpanded" Value="True">
                    <Setter Property="Header" Value="See Less" />
                </Trigger>
                <Trigger Property="IsExpanded" Value="False">
                    <Setter Property="Header" Value="See More" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Expander.Style>
</Expander>