[WPF][TabControl] タブが変更されたことを検出する

スポンサーリンク

概要

この記事では、WPFのTabControlコントロールのSelectionChangedイベントを使用して、タブが変更されたことを検出する方法について詳しく説明します。SelectionChangedイベントは、ユーザーが新しいタブを選択したときに発生し、このイベントを利用することで、タブの変更を検知し、それに応じた処理を行うことができます。記事では、SelectionChangedイベントの基本的な使い方から、具体的な使用例まで解説します。

構文

XAML

まず、XAMLでのTabControlとSelectionChangedイベントの基本的な構文を見てみましょう。

<TabControl SelectionChanged="TabControl_SelectionChanged">
  <TabItem Header="Tab 1"></TabItem>
  <TabItem Header="Tab 2"></TabItem>
  <TabItem Header="Tab 3"></TabItem>
</TabControl>

上記のコードでは、TabControlに3つのTabItemがあり、SelectionChangedイベントが設定されています。このイベントは、ユーザーがタブを切り替えると発生します。

コードビハインド

次に、コードビハインドでのSelectionChangedイベントのハンドラーの基本的な構文を見てみましょう。

private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
  if (e.Source is TabControl)
  {
    // タブが変更されたときの処理をここに書く
  }
}

上記のコードでは、TabControlのSelectionChangedイベントが発生したときに呼び出されるメソッドを定義しています。このメソッド内で、タブが変更されたときの具体的な処理を記述します。具体的な処理は、アプリケーションの要件によります。この記事では、具体的な使用例を通じて、このイベントの使い方を詳しく説明します。

 

使用例

以下に、TabControlのSelectionChangedイベントの使用例を示します。

XAML

まず、XAMLでのTabControlの定義です。

<TabControl x:Name="MyTabControl" SelectionChanged="MyTabControl_SelectionChanged">
  <TabItem Header="Tab 1"></TabItem>
  <TabItem Header="Tab 2"></TabItem>
  <TabItem Header="Tab 3"></TabItem>
</TabControl>

上記のコードでは、TabControlに3つのTabItemがあり、SelectionChangedイベントが設定されています。

コードビハインド

次に、コードビハインドでのSelectionChangedイベントのハンドラーの定義です。

private void MyTabControl_SelectionChanged(object sender, SelectionChangedEventArgs e) {
    if (e.Source is TabControl) {
        var tabControl = (TabControl)e.Source;
        var selectedTab = (TabItem)tabControl.SelectedItem; // 選択されているタブを取得
        Console.WriteLine($"Selected tab: {selectedTab.Header}");
    } 
}

上記のコードでは、TabControlのSelectionChangedイベントが発生したときに呼び出されるメソッドを定義しています。このメソッド内で、選択されたタブのヘッダーをメッセージボックスで表示します。

実行例

実行例

まとめ

このように、SelectionChangedイベントを利用することで、タブの選択状態が変わったときに特定のアクションを実行することができます。具体的な処理は、アプリケーションの要件によります。

Please follow and like us:

コメント

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