はじめに
この連載ではSilverlightとWPFで使える、逆引きTipsを紹介していきます。今回は、SilverlightとWPFで使えるリストボックス機能(ComboBoxコントロール)について取り上げます。
対象読者
Visual BasicまたはVisual C#、および、Silverlight/WPFのプロジェクト作成方法、XAMLについて基礎的な知識がある方を対象としています。
必要な環境
下記を使ってプログラミングできる環境(筆者はこの環境で検証し執筆しています)。
- Visual Studio 2010
- Microsoft Silverlight 4 Tools for Visual Studio 2010
Microsoft Silverlight 4 Tools for Visual Studio 2010は、Microsoftダウンロードセンターより入手できます。Visual Studio 2010が準備できない方は、Visual Studio 2008およびVisual Studio 2008 Silverlight Tools 3.0の組み合わせでも構いません。ただし、この場合は本連載で取り上げるTipsが動作しない可能性もあります。あらかじめご了承ください。
今回紹介するTips
- 項目を追加する
- 1つの項目に複数のコンテントを含める
- 項目を挿入する
- 項目数を取得する
- 項目を選択する
- 選択項目を取得する
- 選択項目のインデックスを取得する
- 指定した項目が選択されているか調べる
- 選択可能な項目を持っているかを調べる
- 項目の配置位置を設定する
- 文字を入力して項目を選択する
- ドロップダウンの最大高さを設定する
- 選択項目が変更されたことを知る
- ドロップダウンリストがオープン/クローズされたことを知る
- フォントファミリを表示する
1. 項目を追加する
XAMLで項目を追加するには ComboBox 要素の子に ComboBoxItem 要素を入れます。
また、コードから項目を追加する場合には Items プロパティの Add メソッドを使用します。
下記は、ComboBox コントロールに項目を追加する例です。
<ComboBox> <ComboBoxItem>リンゴ</ComboBoxItem> <ComboBoxItem>ミカン</ComboBoxItem> <ComboBoxItem>バナナ</ComboBoxItem> <ComboBoxItem>パイナップル</ComboBoxItem> <ComboBoxItem>スイカ</ComboBoxItem> <ComboBoxItem>グレープフルーツ</ComboBoxItem> </ComboBox>
Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded Dim Fruits() As String = {"リンゴ", "ミカン", "バナナ", "パイナップル", "スイカ", "グレープフルーツ"} For Each fruit As String In Fruits '項目を追加する ComboBox1.Items.Add(fruit) Next End Sub
private void Window_Loaded(object sender, RoutedEventArgs e) { string[] fruits = {"リンゴ", "ミカン", "バナナ", "パイナップル", "スイカ", "グレープフルーツ" }; foreach (string fruit in fruits) { // 項目を追加する comboBox1.Items.Add(fruit); } }
XAMLで項目に追加するには ComboBox 要素の子に ComboBoxItem 要素を入れる。
コードから項目を追加するには Items プロパティの Add メソッドを使用する