05.任意のタブを選択状態にする
XAMLで任意のタブを選択状態にする場合は、TabItem要素のIsSelected属性にTrueを指定します。
また、コードから任意のタブを選択状態にする方法は
- TabItemのIsSelectedプロパティにTrueを指定する方法
- TabControlのItemsプロパティでIsSelectedプロパティにTrueを指定する方法
があります。
下記は、任意のタブを選択状態にする例です。

<TabControl Name="TabControl1">
<TabItem Header="TabItem1" Name="TabItem1">
<Grid />
</TabItem>
<TabItem Header="TabItem2" Name="TabItem2">
<Grid />
</TabItem>
<TabItem Header="TabItem3" Name="TabItem3">
<Grid />
</TabItem>
<!-- TabItem4 を選択状態にする -->
<TabItem Header="TabItem4" Name="TabItem4" IsSelected="True">
<Grid />
</TabItem>
<TabItem Header="TabItem5" Name="TabItem5">
<Grid />
</TabItem>
</TabControl>
Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
'4番目のタブを選択状態にする
TabItem4.IsSelected = True
' または下記
'DirectCast(TabControl1.Items(3), TabItem).IsSelected = True
End Sub
private void Window_Loaded(object sender, RoutedEventArgs e)
{
// 4番目のタブを選択状態にする
tabItem4.IsSelected = true;
// または下記
//((TabItem)tabControl1.Items[3]).IsSelected = true;
}
タブを選択状態にするには、TabItemのIsSelectedプロパティにTrueを設定するか、TabControlのItemsプロパティのIsSelectedプロパティにTrueを設定する。
06.タブが選択されたことを知る
タブが選択されたことを知るには、TabControlのSelectionChangedイベントを使用します。
また「どのタブが選択されたのか」を知るには、TabControlのSlectedIndexプロパティを使用して、選択されたタブのインデックスを取得します。
下記は、タブが選択されたことを知る例です。
タブが選択されると、TabControlの下に配置されたTextBlockに「○番目のタブが選択されました」というメッセージを表示します。

<StackPanel>
<TabControl Name="TabControl1" Height="235">
<TabItem Header="TabItem1" Name="TabItem1">
<Grid />
</TabItem>
<TabItem Header="TabItem2" Name="TabItem2">
<Grid />
</TabItem>
<TabItem Header="TabItem3" Name="TabItem3">
<Grid />
</TabItem>
</TabControl>
<TextBlock Name="TextBlock1" />
</StackPanel>
'初期化処理
'イベントハンドラーの追加
Private Sub Window_Initialized(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Initialized
'タブが選択されたことを知るイベントハンドラーの追加
AddHandler TabControl1.SelectionChanged, AddressOf TabControl1_SelectionChanged
End Sub
' 選択されたタブの情報を表示する
Private Sub TabControl1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs)
'選択されたタブの番号を取得
Dim selectedIndex As Integer = TabControl1.SelectedIndex + 1
'選択されたタブの情報を表示
TextBlock1.Text = selectedIndex.ToString() + "番目のタブが選択されました"
End Sub
public Window6()
{
InitializeComponent();
// タブが選択されたことを知るイベントハンドラーの追加
tabControl1.SelectionChanged += new SelectionChangedEventHandler(tabControl1_SelectionChanged);
}
/// 選択されたタブの情報を表示する
private void tabControl1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// 選択されタブの番号を取得
int selectedIndex = tabControl1.SelectedIndex + 1;
// 選択された他部の情報を表示
textBlock1.Text = selectedIndex.ToString() + "番目のタブが選択されました";
}
タブが選択されたことを知るにはSelectionChangedイベントを使用する。
どのタブが選択されたかを知るにはSelectedIndexプロパティを使用する。
