日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。C#ComboBoxコントロールは、複数の選択肢の中から1つをユーザーに選択してもらうためのユーザーインターフェースを提供するコントロールです。オプションとして、複数の選択肢の中から1つを選ぶか、自由にテキストを入力する方法も提供することができます。ComboBoxの基本的な使い方は、ItemsSourceプロパティにオブジェクトのコレクションを設定して、ItemTemplateで見た目を定義する方法になります。例として、以下のようなNameとAgeプロパティを持つPersonクラスを表示する場合のコードを示します。}}ComboBoxのXAMLでの定義は以下のようになります。ItemTemplateに、Personクラスの表示を定義するテンプレートを設定しています。</ComboBox.ItemTemplate></ComboBox>コードビハインドのコンストラクタで、このComboBoxコントロールのItemsSourceプロパティにデータを設定します。年齢」の順番でデータが並んだ状態で表示されます。IsEditableプロパティをtrueに設定することで、選択肢にない項目をTextBoxと同じ要領で入力できるようにもなります。選択した項目の表示場所がTextBoxになることで、ItemTemplateの表示ができなくなるため、TextSearch.TextPathプロパティで選択した項目の、どのプロパティの値を表示するのか指定する必要があります。</ComboBox.ItemTemplate></ComboBox>選択項目の操作ComboBoxコントロールで選択された要素を取得するには、インデックスを取得する方法と、選択された値そのものを取得するプロパティがあります。Textプロパティを使うことで現在選択中の項目のテキストも取得できます。ComboBoxコントロールで現在選択中の項目のインデックスを取得または設定します。ComboBoxコントロールで現在選択中の値を取得または設定します。ComboBoxコントロールで現在のテキストを取得または設定します。以下のように設定した、ComboBoxコントロールのSelectedIndexプロパティ、SelectedItemプロパティ、Textプロパティを表示するプログラムの実行結果を示します。</ComboBox.ItemTemplate></ComboBox>実行直後は、SelectedIndexプロパティが-1になっていることが確認できます。SelectedItemプロパティはnullでTextプロパティは空文字になっています。3番目の項目を選択すると以下のような表示になります。SelectedIndexプロパティが3番目を表す2になっている点と、SelectedItemプロパティが、選択項目のPersonオブジェクトになっていることが確認できます。TextプロパティはTextSearch.TextPath添付プロパティでNameプロパティを表示するようにしているため、Nameプロパティの値が表示されていることがわかります。C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。Blogの内容は個人の見解であり、所属する企業を代表するものではありません。)はてなブログをはじめよう!okazukiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。