【发布时间】:2010-12-02 02:13:18
【问题描述】:
简而言之,这就是我想要做的事情,我只是从代码开始,它很可能是有意义的。
<bl:InnerGlowBorder x:Name="glow"
InnerGlowColor="Teal">
<bl:InnerGlowBorder.Style>
<Style TargetType="bl:InnerGlowBorder">
<Style.Triggers>
<DataTrigger Binding="{Binding ViewUnitStatus}"
Value="UnitStatusModel.Pass">
<Setter Property="InnerGlowColor"
Value="Green" />
</DataTrigger>
<DataTrigger Binding="{Binding ViewUnitStatus}"
Value="UnitStatusModel.Fail">
<Setter Property="InnerGlowColor"
Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding ViewUnitStatus}"
Value="UnitStatusModel.Indeterminate">
<Setter Property="InnerGlowColor"
Value="Yellow" />
</DataTrigger>
<DataTrigger Binding="{Binding ViewUnitStatus}"
Value="UnitStatusModel.Warning">
<Setter Property="InnerGlowColor"
Value="Orange" />
</DataTrigger>
</Style.Triggers>
</Style>
</bl:InnerGlowBorder.Style>
</bl:InnerGlowBorder>
以及枚举定义:
namespace SEL.MfgTestDev.ESS.ViewModel
{
public enum UnitStatusModel
{
Indeterminate,
Pass,
Fail,
Warning,
}
}
我是否缺少一件作品来完成这项工作?我发现了一些关于依赖于对象数据源的枚举的 WPF 文章,我不太喜欢那种解决方案,难道我不能在这里做一些更简单的事情吗?
【问题讨论】:
-
InnerGlowColor="Teal" 问题在于,如果样式设置的字段在基础中被覆盖,则触发器不会改变任何内容。
-
+1 我正要回应那个效果。发布您自己的答案,然后接受它。 :)