.net 展开或折叠时,如何更改WPF Expander标题文本?
使用WPF扩展器,我希望在控件展开时标题从“查看更多”更改为“查看较少”,在控件再次折叠时返回以查看更多。 我更喜欢WPF纯解决方案,而不是C#或其他代码隐藏方法。 我觉得这应该很容易,但我正在努力寻找合适的条款,以便通过谷歌获得解决方案.net 展开或折叠时,如何更改WPF Expander标题文本?,.net,wpf,expander,.net,Wpf,Expander,使用WPF扩展器,我希望在控件展开时标题从“查看更多”更改为“查看较少”,在控件再次折叠时返回以查看更多。 我更喜欢WPF纯解决方案,而不是C#或其他代码隐藏方法。 我觉得这应该很容易,但我正在努力寻找合适的条款,以便通过谷歌获得解决方案 谢谢 您可能可以在样式触发器中执行此操作: <Expander> <Expander.Style> <Style TargetType="Expander"> <Sett
谢谢 您可能可以在样式触发器中执行此操作:
<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>
这是未经测试的,但它应该会给你一些东西继续下去。旧的(我知道),但这可以通过使用两个简单的触发器来完成,而无需绑定:
<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>
认为它已经过测试,可以完全按照我的要求工作。非常感谢。:)确保在样式中设置标题,而不是在扩展器本身中设置标题,否则扩展器中的值将优先于样式触发器。如果要使用控件的IsExpanded
属性,可以使用Trigger
而不是DataTrigger
,如下所示: