wpf将组合框绑定到不同名称空间中的枚举

Kla*_*lay 3 wpf enums binding namespaces

我正在尝试绑定XAML ComboBox,以使其列表项成为System.IO.Ports.Parity枚举的成员。

我发现了很多数据绑定枚举的示例,但是如果枚举位于不同的命名空间(例如System.IO.Ports)中,则这些示例似乎无效。

现在我有:

<ObjectDataProvider MethodName="GetValues" ObjectType="{x:Type sys:Enum}" x:Key="parityValues">
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="System.IO.Ports.Parity" />
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
Run Code Online (Sandbox Code Playgroud)

但是我收到错误消息“类型引用找不到名为'System.IO.Ports.Parity'的公共类型。”

任何想法如何做到这一点?

toa*_*oad 5

添加类似

xmlns:sysioports="clr-namespace:System.IO.Ports;assembly=System"
Run Code Online (Sandbox Code Playgroud)

然后将<x:Type />行更改为

<x:Type TypeName="sysioports:Parity" />
Run Code Online (Sandbox Code Playgroud)

应该使它工作。