从视图MVVM WPF访问视图模型中定义的枚举类型
在我的MVVM WPF应用程序中,我声明了一个枚举: 查看模型:从视图MVVM WPF访问视图模型中定义的枚举类型,wpf,xaml,mvvm,binding,Wpf,Xaml,Mvvm,Binding,在我的MVVM WPF应用程序中,我声明了一个枚举: 查看模型: namespace MyViewModel { public class MyViewModelClass { public enum MessageTypes { Info = 0, Error = 1 }; } } xmlns:vm="clr-namespace:MyViewModel;assembly=MyViewMod
namespace MyViewModel
{
public class MyViewModelClass
{
public enum MessageTypes
{
Info = 0,
Error = 1
};
}
}
xmlns:vm="clr-namespace:MyViewModel;assembly=MyViewModelAssembly"
<Image>
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="/Common.Images;component/Images/Info.png"/>
<Style.Triggers>
<DataTrigger Binding="{Binding MessageTypes}" Value="{x:Static vm:MessageTypes.Error}">
<Setter Property="Source" Value="/Common.Images;component/Images/Cancel.png"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
现在从视图中,我尝试访问它,以便将其用作控件中的静态资源,因此:
查看:
namespace MyViewModel
{
public class MyViewModelClass
{
public enum MessageTypes
{
Info = 0,
Error = 1
};
}
}
xmlns:vm="clr-namespace:MyViewModel;assembly=MyViewModelAssembly"
<Image>
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="/Common.Images;component/Images/Info.png"/>
<Style.Triggers>
<DataTrigger Binding="{Binding MessageTypes}" Value="{x:Static vm:MessageTypes.Error}">
<Setter Property="Source" Value="/Common.Images;component/Images/Cancel.png"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
枚举被声明为嵌套类型(在类MyViewModelClass中),
x:Static
标记扩展不支持该类型
您应该这样声明:
namespace MyViewModel
{
public enum MessageTypes
{
Info = 0,
Error = 1
}
public class MyViewModelClass
{
...
}
}