2009-07-16 79 views
2

我想绑定一个XAML组合框,以便它的列表项是System.IO.Ports.Parity枚举的成员。wpf绑定组合框枚举在不同的命名空间

我发现了很多数据绑定枚举的例子,但是如果枚举位于不同的命名空间(如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> 

但我得到的错误“类型引用无法找到名为‘System.IO.Ports.Parity’公共型”。

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

回答

4

添加类似

xmlns:sysioports="clr-namespace:System.IO.Ports;assembly=System" 

,然后改变<x:Type />线

<x:Type TypeName="sysioports:Parity" /> 

应该使其工作。

+0

我设法弄清除了“sysioports:Parity”部分以外的所有内容。找不到记录在哪里...... – Klay 2009-07-16 16:47:54

4

只是因为你应该包括和使用命名空间这样

<Window xmlns:custom="clr-namespace:System.IO.Ports.Parity;assembly=SampleLibrary"> 
... 
    <x:Type TypeName="custom:Parity" /> 
... 
</Window> 
+0

谢谢!这完美的作品! – Klay 2009-07-16 16:48:26