使用枚举键绑定到字典的WPF数据

我有几个项目的解决方案。 在一个项目中,我的模型是一个名为ModelEnum的枚举。

然后在我的WPF项目中,我有一个具有Dictionary的ViewModel。

在我的ViewModel中,我将ValuesDictionary设置为:

private Dictionary _valuesDictionary = new Dictionary(); public Dictionary ValuesDictionary { get { return _valuesDictionary; } set { _valuesDictionary = value; OnPropertyChanged(_valuesDictionary); } } 

在我的XAML中我有:

 xmlns:model="clr-namespace:Model.Data;assembly=Model" ...  

以下XAML代码段:

 (model:ModelEnum)ModelEnum.Enum1 

给我错误“参数类型不匹配”。 我很困惑,因为我以为我把它投射到它所期望的Enum类型。 我引用了这个问题来试试它没有运气。

更换

 (model:ModelEnum)ModelEnum.Enum1].Value 

 (model:ModelEnum)Enum1] 

然后试试。 我希望它能奏效。

只是为了增加这个潜在的陷阱,我有问题绑定没有明确的“路径=”

 {Binding ValuesDictionary[(model:ModelEnum)Enum1]} 

不起作用,但是:

 {Binding Path=ValuesDictionary[(model:ModelEnum)Enum1]} 

虽然设计师(或者ReSharper)仍然抱怨语法错误,但仍按预期工作。