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

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

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-05 02:51:39418ブラウズ

How to Easily Bind an Enum to a WPF ComboBox?

WPF で列挙型を ComboBox にバインドする: 明確で簡潔なアプローチ

列挙型をコンボボックスにバインドする簡単なアプローチを探している人向けWPF の ComboBox については、この記事で簡潔に説明します。 guide.

問題:

BindingPath プロパティを使用して enum を ComboBox にバインドしようとしましたが、enum 値が項目として表示されないことがわかりました。 ComboBox.

解決策:

コードベースのバインド:

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

yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<effectstyle>();</effectstyle>

このコードは列挙値を取得して設定します。 ComboBox の ItemsSource として使用します。

XAML バインディング:

XAML でバインドするには、ObjectDataProvider を使用します:

<window ...>
    <window.resources>
        <objectdataprovider x:key="dataFromEnum" methodname="GetValues" objecttype="{x:Type System:Enum}">
            <objectdataprovider.methodparameters>
                <type typename="StyleAlias:EffectStyle"></type>
            </objectdataprovider.methodparameters>
        </objectdataprovider>
    </window.resources>
    <grid>
        <combobox itemssource="{Binding Source={StaticResource dataFromEnum}}" selecteditem="{Binding Path=CurrentEffectStyle}"></combobox>
    </grid>
</window>

必ずxmlns を使用した名前空間とアセンブリ。

このアプローチは次のことを提供します。追加の表示文字列による複雑さを必要とせずに、列挙型を WPF ComboBox にバインドする明確かつ簡単な方法です。

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

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