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

列挙型を WPF ComboBox に簡単にバインドするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-05 04:27:41330ブラウズ

How to Easily Bind Enums to a WPF ComboBox?

列挙型を 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。