wpf привязка combobox к enum в другом пространстве имен - PullRequest
3 голосов
/ 16 июля 2009

Я пытаюсь связать 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'."

Есть идеи, как этого добиться?

Ответы [ 2 ]

5 голосов
/ 16 июля 2009

Добавление чего-то вроде

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

, а затем изменив строку <x:Type /> на

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

Должно заставить это работать.

4 голосов
/ 16 июля 2009

только потому, что вы должны включить и использовать пространство имен, подобное этому

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