【问题标题】:How do I change the WPF Expander Header Text when expanded or collapsed?展开或折叠时如何更改 WPF 扩展器标题文本?
【发布时间】:2010-04-09 00:01:00
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: .net wpf expander


    【解决方案1】:

    旧的(我知道),但这可以通过使用两个简单的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>
    

    【讨论】:

      【解决方案2】:

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

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

      这是未经测试的,但它应该能让你继续前进。

      【讨论】:

      • 认为它已经过测试,并且完全按照我的意愿工作。非常感谢。 :)
      • 确保在 Style 中设置 Header,而不是在 Expander 本身中设置,否则 Expander 中的值将优先于 Style Trigger。
      • 如果你想使用控件的IsExpanded属性,你可以使用Trigger而不是DataTrigger,像这样:&lt;Trigger Property="IsExpanded" ...&gt;
      猜你喜欢
      • 1970-01-01
      • 2015-03-29
      • 2015-06-20
      • 1970-01-01
      • 2018-06-14
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多