OpacityConverter破解

时间:2011-03-30 09:09:40

标签: .net converters

如何实现接受超过100%的值的OpacityConverter?喜欢120%或150%。

感谢。

1 个答案:

答案 0 :(得分:0)

我认为您应该调整代码。在为转换器提供价值之前,请通过Math.Min/Max

运行它
    //adjusted = Max(0, Min(1.0, input))

decimal stuff1 = 1.1m;
decimal stuff2 = -0.1m;
decimal stuff3 = 0.5m;

decimal correct1 = Math.Max(0m, Math.Min(1.0m, stuff1)); // 1.0
decimal correct2 = Math.Max(0m, Math.Min(1.0m, stuff2)); // 0.0
decimal correct3 = Math.Max(0m, Math.Min(1.0m, stuff3)); // 0.5

任何低于0%或高于100%的不透明度都没有任何意义,只是因为您无法使更多显示完全可见;同样地,你不能使看起来比不可见