Fir*_*oso 14 .net c# wpf enums binding
所以这就是我想要做的事情,我只想从代码开始,它很可能会有意义.
<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>
Run Code Online (Sandbox Code Playgroud)
和枚举定义:
namespace SEL.MfgTestDev.ESS.ViewModel
{
public enum UnitStatusModel
{
Indeterminate,
Pass,
Fail,
Warning,
}
}
Run Code Online (Sandbox Code Playgroud)
我错过了一件让这件作品?我在enum上发现了一些依赖于对象数据源的WPF文章,我真的不喜欢这个解决方案,这里有什么更简单的东西吗?
我找到了解决方案而且非常愚蠢.
样式被设计为控件的一种可视化模板,但它们被设计为可视化实现的基础,而不是全部/最终所有可视化模型.
结果,我遇到了一个情况,我的模板决定了InnerGlowColor应该是什么.但是,通过将属性InnerGlowColor ="Teal"应用于元素,我创建了一个有效的覆盖,忽略了我的视觉风格.解决方案是简单地删除元素声明中的dependancy属性.
| 归档时间: |
|
| 查看次数: |
15815 次 |
| 最近记录: |