使用WPF扩展器,我希望在控件展开时标题从“查看更多”更改为“查看较少”,并在再次折叠时恢复为“查看更多”。 我想要的是一种WPF纯解决方案,而不是C#或其他后台代码的方法。我感觉这应该很容易,但是我在谷歌上找不到正确的术语来获得解决方案。谢谢!
你可以在样式触发器中完成这个操作:
<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
,如下所示:<Trigger Property="IsExpanded" ...>
- g t