[WPF][ComboBox] 選択されたアイテムに基づいて他のコントロールを操作する方法

スポンサーリンク

概要

この記事では、WPF(Windows Presentation Foundation)のComboBoxコントロールで選択されたアイテムに基づいて他のコントロールを操作する方法について解説します。

ComboBoxは、ユーザーがリストからアイテムを選択することができるコントロールであり、他のコントロールの動作や表示を選択されたアイテムに応じて変更したい場合に活用できます。

例えば、ComboBoxで色の選択肢を表示し、選択された色に基づいて他のコントロールの背景色を変更するなどの操作が可能です。この記事では、WPFでComboBoxの選択イベントを処理し、他のコントロールを操作する方法を紹介します。

構文

ComboBoxでアイテムを選択したときは、SelectionChanged イベントが発生します。

このSelectionChanged イベントを利用することで、選択されたアイテムの基づいた処理をすることができます。

<ComboBox Name="colorComboBox" SelectionChanged="OnColorSelectionChanged">

</ComboBox> 

使用例

以下の例では、ComboBoxとRectangleの2つのコントロールがあります。ComboBoxでは”Red”、”Green”、”Blue”の3つのアイテムが表示されています。ユーザーがComboBoxからアイテムを選択すると、OnColorSelectionChangedというイベントハンドラが呼び出されます。ここで、選択されたアイテムに基づいてRectangleの背景色を変更するコードを実装します。

<ComboBox Name="colorComboBox" SelectionChanged="OnColorSelectionChanged">
  <ComboBoxItem>Red</ComboBoxItem>
  <ComboBoxItem>Green</ComboBoxItem>
  <ComboBoxItem>Blue</ComboBoxItem>
</ComboBox>
<Rectangle Name="colorDisplayRectangle" Width="100" Height="100" Fill="Transparent" />
private void OnColorSelectionChanged(object sender, SelectionChangedEventArgs e)
{
    string selectedColor = "";
    ComboBoxItem selectedItem = colorComboBox.SelectedItem as ComboBoxItem;
    if (selectedItem != null)
    {
        selectedColor = selectedItem.Content.ToString();
    }

    switch (selectedColor) 
    {
        case "Red": 
            colorDisplayRectangle.Fill = Brushes.Red; break; 
        case "Green": 
            colorDisplayRectangle.Fill = Brushes.Green; break; 
        case "Blue": 
            colorDisplayRectangle.Fill = Brushes.Blue; break; 
        default: 
            colorDisplayRectangle.Fill = Brushes.Transparent; break; 
    } 
}
実行例

実行例

Please follow and like us:

コメント

タイトルとURLをコピーしました