我想根据数据源中的双字段显示特定图像。
此字段包含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>
但是这不适用于范围值,仅适用于静态值。
答案 0 :(得分:1)
你看看转换器......它基本上应该将double转换为字符串......在转换器逻辑中你还可以包括你的范围......或者调用其他业务逻辑......
以下是如何编写转换器及其用途。 http://msdn.microsoft.com/en-us/library/aa970913.aspx
希望这会有所帮助......
答案 1 :(得分: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>
没有视图模型?使用转换器。