WPF で列挙型にデータ バインドしようとしていますが、例外が発生します。
最初に、プロジェクトに追加した参照を指す NS 宣言があります。
xmlns:defs="clr-namespace:API.Definitions;assembly=API"
また:
xmlns:sys="clr-namespace:System;assembly=mscorlib"
次に、列挙型をウィンドウ リソースに追加します。
<Window.Resources <ResourceDictionary> <ObjectDataProvider x:Key="someEnum" MethodName="GetValues" ObjectType="{x:Type sys:Enum}"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="defs:someEnum" /> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> </ResourceDictionary> </Window.Resources>
コンボボックスで使用しようとしています:
ComboBox ItemsSource="{Binding Source={StaticResource someEnum}}"
それを実行し、XamlParseException を取得します。
Type reference cannot find type named '{clr namespace:API.Definitions;assembly=API}someEnum'.
この API リファレンスを参照しましたが、その列挙型をはっきりと確認でき、必要に応じてコードで使用できます。ローカル列挙型 (参照されていない) へのバインドもテストしましたが、これは完全に機能します。
assembly=API を xmlns:defs="clr-namespace:API.Definitions;assembly=API" から削除することでこれを解決できるはずですが、そうではありません。
ご協力いただきありがとうございます。