2009-07-16 10 views
2

J'essaye de lier un ComboBox XAML afin que ses éléments de liste soient les membres de l'énumération System.IO.Ports.Parity.wpf liaison combobox à enum dans un espace de noms différent

J'ai trouvé beaucoup d'exemples d'énumérations de liaison de données, mais il semble que cela ne fonctionne pas si l'énumération se trouve dans un espace de noms différent (comme System.IO.Ports).

En ce moment, j'ai:

<ObjectDataProvider MethodName="GetValues" ObjectType="{x:Type sys:Enum}" x:Key="parityValues"> 
     <ObjectDataProvider.MethodParameters> 
      <x:Type TypeName="System.IO.Ports.Parity" /> 
     </ObjectDataProvider.MethodParameters> 
    </ObjectDataProvider> 

Mais je reçois l'erreur "référence type ne peut pas trouver le type public nommé 'System.IO.Ports.Parity'."

Des idées pour y parvenir?

Répondre

4

Ajouter quelque chose comme

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

puis changer la ligne <x:Type /> à

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

devrait le faire fonctionner.

+0

J'ai réussi à comprendre tout cela, sauf pour la partie "sysioports: Parité". Impossible de trouver où cela a été documenté ... – Klay

4

juste parce que vous devez inclure et utiliser l'espace de noms comme celui-ci

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

Merci! Cela fonctionne parfaitement! – Klay

Questions connexes