12. ドロップダウンの最大高さを設定する
ComboBox に表示する項目数が多ければ多いほど、ドロップダウン時の「項目表示エリア高さ」は高くなります。
この高さを変更するには MaxDropDownHeight プロパティの値を設定します。
下記は、ドロップダウンの高さを変更する例です。 テキストボックスに入力された値をドロップダウンの高さに設定するようにしています。

<ComboBox MaxDropDownHeight="60"/>
Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
'コンボボックスにダミーデータを追加
For I As Integer = 1 To 100
ComboBox1.Items.Add("ComboItem" & I.ToString())
Next
End Sub
' [設定]ボタンクリック時の処理
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Handles button1.Click
'最大高さを設定
ComboBox1.MaxDropDownHeight = Double.Parse(textBox1.Text)
End Sub
private void Window_Loaded(object sender, RoutedEventArgs e)
{
// コンボボックスにダミーデータを追加
for (int i = 1; i <= 100; i++)
comboBox1.Items.Add("ComboItem" + i.ToString());
}
// [設定]ボタンクリック時の処理
private void button1_Click(object sender, RoutedEventArgs e)
{
// 最大高さを設定
comboBox1.MaxDropDownHeight = Double.Parse(textBox1.Text);
}
ドロップダウンの高さを設定するには MaxDropDownHeight プロパティの値を設定する。
13. 選択項目が変更されたことを知る
選択項目が変更されたことを知るには SelectionChanged イベントを使用します。
下記は選択項目が変更されたときに、どの項目が選択されたのかを表示する例です。

Private Sub ComboBox1_SelectionChanged(ByVal sender As System.Object,
ByVal e As System.Windows.Controls.SelectionChangedEventArgs)
Handles ComboBox1.SelectionChanged
MessageBox.Show(DirectCast(ComboBox1.SelectedItem, ComboBoxItem).Content.ToString() & "が選択されました")
End Sub
private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show(((ComboBoxItem)comboBox1.SelectedItem).Content.ToString() + "が選択されました");
}
選択項目が変更されたことを知るには SelectionChanged イベントを使用する。
