我正在尝试对 WPF 上的枚举进行一些数据绑定,但出现异常。
首先我有我的 NS 声明,指向我添加到项目中的引用:
xmlns:defs="clr-namespace:API.Definitions;assembly=API"
并且:
xmlns:sys="clr-namespace:System;assembly=mscorlib"
然后我在窗口资源中添加一个枚举:
<Window.Resources <ResourceDictionary> <ObjectDataProvider x:Key="someEnum" MethodName="GetValues" ObjectType="{x:Type sys:Enum}"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="defs:someEnum" /> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> </ResourceDictionary> </Window.Resources>
我正在尝试在组合框上使用它:
ComboBox ItemsSource="{Binding Source={StaticResource someEnum}}"
运行它并获得 XamlParseException:
Type reference cannot find type named '{clr namespace:API.Definitions;assembly=API}someEnum'.
我浏览了这个 API 参考,如果我愿意,我可以清楚地看到那个枚举并在代码上使用它。我还测试了与本地枚举(未引用)的绑定,这非常有效。
一些答案暗示从 xmlns:defs="clr-namespace:API.Definitions;assembly=API" 中删除 assembly=API 应该可以解决这个问题,但事实并非如此。
谢谢你的帮助。