ホームページ > バックエンド開発 > C++ > 列挙型を WPF ComboBox コントロールにバインドするにはどうすればよいですか?

列挙型を WPF ComboBox コントロールにバインドするにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-05 19:16:41
オリジナル
764 人が閲覧しました

How to Bind Enums to WPF ComboBox Controls?

WPF ComboBox コントロールへの列挙型のバインド

ComboBox 内の項目として列挙型値を表示しようとする場合、DataContext から直接バインドするだけでは十分ではない場合があります。これに対処するために、コードと XAML バインディングによる 2 つのアプローチを紹介します。

コードベースのバインディング

Window の Loaded イベント ハンドラーで、次のコードを実行します。

yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();
ログイン後にコピー

これは列挙値を取得し、それらを ComboBox の項目として割り当てます。 source.

XAML Binding

XAML バインディングの場合、ObjectDataProvider を使用します:

<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
                  SelectedItem="{Binding Path=CurrentEffectStyle}" />
ログイン後にコピー

Window の Resources セクション内で、ObjectDataProvider を定義します:

<ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues"
                            ObjectType="{x:Type System:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type TypeName="StyleAlias:EffectStyle"/>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
ログイン後にコピー

必要なものを忘れずに宣言してくださいnamespaces:

xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"
ログイン後にコピー

これらのメソッドは、WPF で列挙型を ComboBox コントロールにバインドする簡単かつ効果的な方法を提供します。

以上が列挙型を WPF ComboBox コントロールにバインドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート