2009-07-16 4 views
2

Я пытаюсь связать XAML ComboBox так, чтобы его элементы списка были членами перечисления System.IO.Ports.Parity.wpf привязка combobox к перечислению в разных пространствах имен

Я нашел множество примеров переходов для привязки данных, но кажется, что они не работают, если перечисление находится в другом пространстве имен (например, 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

4

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

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

Спасибо! Это прекрасно работает! – Klay

Смежные вопросы