在尝试将数据绑定到WPF上的Enum时获得异常



我试图做一些数据绑定到WPF上的enum,但我得到一个异常。

  1. 首先我有我的NS声明,指向我添加到项目中的引用:

    xmlns:defs="clr-namespace:API.Definitions;assembly=API"

    也:

    xmlns:sys="clr-namespace:System;assembly=mscorlib"

  2. 然后我添加一个枚举到窗口资源:

    <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>
    
  3. 我想在一个组合框上使用它:

    ComboBox ItemsSource="{Binding Source={StaticResource someEnum}}"

  4. 运行它并得到一个XamlParseException:

Type reference cannot find type named '{clr namespace:API.Definitions;assembly=API}someEnum'.

我已经浏览了这个API引用,我可以清楚地看到枚举和使用如果我愿意,就用代码吧。我还测试了绑定到本地enum(未引用),这是完美的。

一些答案暗示从xmlns:defs="clr-namespace:API. definitions;assembly=API"中删除assembly=API应该可以解决这个问题,但是它没有。

谢谢你的帮助。

好的,我已经找到了导致它的原因-引用的API是为x86而不是"任何CPU"构建的。对此有什么解释吗?

相关内容

  • 没有找到相关文章

最新更新