列挙型を WPF ComboBox コントロールにバインドする
Visual Studio などのインターフェイス開発環境 (IDE) では、列挙型をコンボボックス コントロールにバインドすると、課題。この記事では、追加の複雑さを加えずにこのバインディングを実現するための簡単なガイドを提供します。
表示文字列を使用せずに列挙値をコンボボックスに直接表示するには、次の手順に従います:
コードから:
yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
XAML の場合:
<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}" SelectedItem="{Binding Path=CurrentEffectStyle}" />
ただし、XAML アプローチの場合、 ObjectDataProvider は、バインディング ソースとして使用できるオブジェクトを作成するために必要です:
<Window.Resources> <ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues" ObjectType="{x:Type System:Enum}"> <ObjectDataProvider.MethodParameters> <x:Type TypeName="StyleAlias:EffectStyle"/> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> </Window.Resources>
xmlns 宣言に注意してください:
xmlns:System="clr-namespace:System;assembly=mscorlib" xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
この行は、Microsoft Developer Network ( MSDN) のドキュメント。これらの手順を実装すると、WPF で列挙型をコンボボックス コントロールに正常にバインドできるようになり、よりクリーンで簡単なアプローチが提供されます。
以上が列挙型を WPF ComboBox に簡単にバインドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。