【发布时间】:2013-12-25 13:32:17
【问题描述】:
我有一个枚举,每个值代表一个图像,例如:
public enum AnimalImages
{
Cow,
Cat,
Dog
}
我还有一个转换器,它接受枚举并返回一个 ImageSource:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return ResourceManager.Instance.GetImageFromEnum((AnimalImages)value);
}
我正在使用带有 MVVM 的 WPF;现在,我想将图像添加到我的视图中。使用Cow 枚举,我想要牛图像。我知道我可以向我的 ViewModel 添加一个属性并像这样调用它:
public AnimalImages CowImage
{
return AnimalImages.Cow;
}
然后将其绑定到我的 UI。但是,我认为有更好的方法来做到这一点。类似于以下内容(当然不起作用):
<Image Source="{x:Static images:AnimalImages.Cow}, Converter={StaticResource AnimalImagesImageBitmapSource}}"/>
有什么建议吗?
【问题讨论】:
-
而以下 S.O.答案并不完全符合您的要求,它提供了几种使用带有枚举和 WPF 的图像的选择:stackoverflow.com/a/2534055/9664