【问题标题】:wpf binding combobox to enum in different namespacewpf 将组合框绑定到不同命名空间中的枚举
【发布时间】:2009-07-16 15:54:08
【问题描述】:

我正在尝试绑定 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>

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

有什么想法可以做到这一点吗?

【问题讨论】:

    标签: wpf binding enums namespaces


    【解决方案1】:

    添加类似的东西

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

    然后将&lt;x:Type /&gt; 行更改为

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

    应该让它工作。

    【讨论】:

    • 我设法弄清楚了所有这些,除了“sysioports:Parity”部分。找不到记录在哪里...
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-12
      • 2020-02-07
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      相关资源
      最近更新 更多