【问题标题】:XAML style trigger on double value双值上的 XAML 样式触发器
【发布时间】:2013-02-19 11:03:59
【问题描述】:

我想根据数据源中的双字段显示特定图像。

该字段包含从 0.0 到 100.0 的值,我得到了四张图像,范围从 0-25、26-50、51-75 和 76-100。

如何在 XAML 中实现这一点?

我当前的触发器:

<Style.Triggers>
  <Trigger Property="Suitability" Value="50">
     <Setter Property="Source" Value="image2.png" />
  </Trigger>
</Style.Triggers>

但这不适用于范围值,仅适用于静态值。

【问题讨论】:

    标签: wpf xaml triggers styles


    【解决方案1】:

    您是否看过转换器...它基本上应该将双精度转换为字符串...在转换器逻辑中您还可以包含您的范围...或调用其他业务逻辑...

    这里是如何编写转换器以及它们的用途。 http://msdn.microsoft.com/en-us/library/aa970913.aspx

    希望这会有所帮助...

    【讨论】:

      【解决方案2】:

      你有视图模型吗?最简单的方法是向您的 VM 添加一个单独的枚举属性,以便视图可以绑定到:

      public SuitabilityLevel SuitabilityLevel
      {
          get
          {
              if (this.Suitability < 25)
              {
                  return SuitabilityLevel.Low;
              }
      
              ...
          }
      }
      

      然后在你的 XAML 中:

      <Trigger Property="SuitabilityLevel" Value="Low">
          <Setter Property="Source" Value="image1.png" />
      </Trigger>
      

      没有视图模型?使用转换器。

      【讨论】:

      • 我没有 ViewModel,但额外的枚举看起来不错!谢谢!
      猜你喜欢
      • 2013-12-18
      • 2012-04-10
      • 2012-04-23
      • 2010-12-27
      • 2011-08-22
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多