14. ドロップダウンリストがオープン/クローズされたことを知る
ドロップダウンリストがオープンされたかことを知るには DropDownOpened イベント を、クローズされたことを知るには DropDownClosed イベント を使用します。
下記は、ドロップダウンリストがオープン/クローズされたときに、その状態を表示する例です。

Private Sub ComboBox1_DropDownOpened(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles ComboBox1.DropDownOpened
TextBlock1.Text = "オープン"
End Sub
Private Sub ComboBox1_DropDownClosed(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles ComboBox1.DropDownClosed
TextBlock1.Text = "クローズ"
End Sub
private void comboBox1_DropDownOpened(object sender, EventArgs e)
{
textBlock1.Text = "オープン";
}
private void comboBox1_DropDownClosed(object sender, EventArgs e)
{
textBlock1.Text = "クローズ";
}
ドロップダウンがオープンされたことを知るには DropDownOpend イベントを使用する。
ドロップダウンがクローズされたことを知るには DropDownClosed イベントを使用する。
15. フォントファミリを表示する
本 Tips は WPFのみとなります。
最後に ComboBox コントロールにフォントファミリを表示する例を紹介します。
ComboBox コントロールにフォントファミリを表示するには ItemSource 属性に Fonts.SystemFontFamilies をバインドします。
ComboBox に表示する項目側(ComboBoxItem 要素)では DataTemplate 要素を使用し、表示する項目の書式(FontFamily 属性)とコンテント(Content 属性)に対して、取得した値をバインディングします。
また、サンプルの図を見るとわかるように ComboBox コントロールの上部に配置した TextBlock コントロールは、ComboBox で選択されたフォントが反映されるように FontFamily 属性にバインドを行っています。
<TextBlock FontFamily="{Binding ElementName=ComboBox1,Path=SelectedValue}"
Height="32" VerticalAlignment="Top"
Text="フォントの例"
FontSize="20"/>
<!-- フォントファミリを表示するコンボボックス -->
<ComboBox x:Name="ComboBox1" ItemsSource="{Binding Source={x:Static Member=Fonts.SystemFontFamilies}}" Margin="0,38,0,182">
<ComboBox.ItemTemplate>
<DataTemplate>
<Label FontSize="16" FontFamily="{Binding .}" Content="{Binding Source}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
ComboBox にフォントファミリを表示するには ItemSource属性に Fonts.SystemFontFamilies をバインドする。
ComboBoxItem 要素では DataTemplate 要素を使用して、FontFamily 属性と Content 属性にバインドする。
まとめ
今回は、ComboBoxコントロールについて取り上げました。
ComboBoxコントロールには多くのプロパティ、イベント、メソッドが備わっており、それ単体でも非常に強力なコントロールだということがおわかりいただけたかと思います。さらに本記事で紹介したように、バインドを使用して項目を追加することも可能ですので、ぜひカスタマイズにも挑戦してみて下さい。
最後に、ComboBox と ComboBoxItem のMSDNリンクを下記に記しておきます。

