0

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

该字段包含从 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>

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

4

2 回答 2

1

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

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

希望这可以帮助...

于 2013-02-19T11:14:39.547 回答
0

你有视图模型吗?最简单的方法是向您的 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>

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

于 2013-02-19T11:16:05.757 回答