コンボボックスは、WPFアプリケーションで最も柔軟なコントロールの1つです。ユーザーが事前定義されたオプションリストから選択できるようにします。このチュートリアルでは、ComboBoxとTextBoxを作成し、イベント-ハンドラーの機能を利用して選択の変更に反応する方法を学びます。また、簡単な自動車ブランドのリストをComboBoxに表示する方法も紹介します。
主なポイント 次のステップを理解し、自分のWPFアプリケーションに適用できるようになるべきです:
- XAMLでComboBoxとTextBoxを作成及び構成する
- ComboBoxにイベントハンドラーを追加する
- データでComboBoxを埋める
- ユーザー入力に基づいて他のコントロールを動的に調整する
ComboBoxとそのイベントハンドラーを作成するためのステップバイステップガイド
ステップ 1: メインウィンドウの作成
MainWindow.xamlファイルでメインウィンドウを開きます。ここでコントロールを配置するためのユーザーインターフェースの基盤を設定します。まずはTextBoxとComboBoxを配置します。

ステップ 2: TextBoxの追加
ツールボックスを使用してTextBoxを追加します。メインウィンドウ内の希望する位置に配置します。このTextBoxは後で選択したテキストを表示します。

ステップ 3: ComboBoxの挿入
TextBoxの横にComboBoxを追加します。これはユーザーが選択肢を提供するために使用されます。配置はあなたの自由です。

ステップ 4: 名前とフォントサイズの設定
両方のコントロール(TextBoxとComboBox)に意味のある名前を付けます。例えば「myTextBox」と「myComboBox」とします。フォントサイズを16に設定して、統一感のある外観を確保しましょう。
ステップ 5: プログラムのテスト
アプリケーションを起動し、追加したコントロールが正しく表示されることを確認します。空のComboBoxとTextBoxが表示されるはずです。

ステップ 6: ComboBoxにデータを追加
アプリケーションがロードされる際にComboBoxにオプションを追加するために、イベントハンドラーを作成します。これをXAML領域で実施し、ComboBoxの「Loaded」イベントをダブルクリックします。

ステップ 7: 選択イベントハンドラーの追加
ComboBoxの変更に反応する別のイベントハンドラーを追加します。「SelectionChanged」イベントをダブルクリックすることでこれを行います。これにより、ユーザーが選択を行った場合にTextBoxが現在の選択値で更新されることが保証されます。
ステップ 8: ComboBoxにアイテムを読み込む
自動車ブランドのリストを「List」として定義し、VW、BMW、メルセデスのようないくつかの例で埋めます。このリストをComboBoxにItemsSourceプロパティを使用して割り当てます。
ステップ 9: デフォルト選択の設定
アプリケーション起動時にどのアイテムを表示するかを定義します。これはComboBoxのSelectedIndexプロパティを通じて行い、インデックス0は最初のアイテム(例えばVW)を指します。
ステップ 10: TextBoxに選択肢を設定
SelectionChangedイベントハンドラーでは、TextBoxのテキストを設定する必要があります。これにより、選択した自動車ブランドの値が表示されます。ToString()メソッドを使用して、オブジェクトがテキストに変換されることを確認します。

ステップ 11: アプリケーションのテスト
アプリケーションを起動して、ComboBoxが読み込まれる際にデフォルト選択が表示され、ユーザーが選択を行ったときにTextBoxが適切に更新されることを確認します。

ステップ 12: さらなる練習
特定の自動車ブランド内のモデルを表示する追加のComboBoxを作成してみてください。前述のメカニズムを実装し、選択肢が別のTextBoxに表示されるようにします。
まとめ - WPF ComboBoxとそのイベントハンドラー in C
このガイドでは、WPFアプリケーション内でComboBoxとTextBoxを作成し、関連するイベントハンドラーを実装する方法を学びました。ComboBoxにデータを読み込み、選択の変更を他のコントロールに動的に伝達する方法を理解しました。
よくある質問
ComboBoxとは何ですか?ComboBoxは、ユーザーが事前定義されたオプションから選択することができるコントロールです。
WPFにイベントハンドラーを追加するにはどうすれば良いですか?イベントハンドラーは、XAMLデザイナーの対応するイベントをダブルクリックすることで追加することができ、その際に自動的にコードビハインドにメソッドが作成されます。
ComboBoxのItemsSourceをどのように使用しますか?ItemsSourceプロパティは、ComboBoxにオプションを提供するデータリストをバインドするために使用されます。
ComboBoxの選択が変更された場合、何が起こりますか?関連するイベントハンドラーがトリガーされ、TextBoxのテキストを更新するなど、変更に反応することができます。
ComboBoxのデフォルト選択を設定するにはどうすれば良いですか?SelectedIndexプロパティを設定することで行えます。インデックス0は最初の要素を指します。