我正在学习WPF,遇到了以下问题:
我的XAML中有一个在另一个命名空间中的枚举类型:
public enum NodeType
{
Type_SYSTEM = 1, // System
Type_DB = 2, // Database
Type_ROOT = 512, // Root folder
Type_FOLDER = 1024, // Folder
}
在我的 XAML 中,我希望能够使用一个整数触发一张图片。
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding Type}" Value="{NodeType: }">
<Setter Property="Source" Value="/Images/DB.PNG"/>
</DataTrigger>
<DataTrigger Binding="{Binding Type}" Value="128">
<Setter Property="Source" Value="/Images/SERVER.PNG"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
在XAML代码中是否有一种方法可以直接获取整数值并将其与枚举类型进行比较?
我的枚举位于命名空间AnotherNamespace.Types
中。
<DataTrigger Binding="{Binding IntegerType}" Value="MyEnumType.Type_DB">
<Setter Property="Source" Value="/Images/SERVER.PNG"/>
</DataTrigger>
XHelper
的类中,你可能需要使用类似于local:XHelper.NodeType.Type_DB
的东西。 - Rachelx:Static
只支持两个级别,所以local:Class.Property
是可以的,但是local:Class.Property.SubProperty
不行。尝试使用{x:Type local:XHelper.NodeType.Type_DB}
作为你的ConverterParameter
。 - Rachel