[WPF/Silverlight] 任意のタブを無効にする

スポンサーリンク

XAMLで任意のタブを無効にする場合は、TabItem 要素の IsEnabled 属性に False を指定します。

また、コードから任意のタブを無効にする方法は

  • TabItem の IsEnabled プロパティに False を指定する方法
  • TabControl の Items プロパティで IsEnabled プロパティにFalse を指定する方法

があります。

下記は、任意のタブを無効にする例です。

XAML内では TabItem2 を無効にしています。

またコード内では TabItem4 と TabItem5 を無効にしています。

任意のタブを無効にする例

XAMLの例

<TabControl Name="TabControl1">
    <TabItem Header="TabItem1" Name="TabItem1">
        <Grid />        
    </TabItem>
    <!-- TabItem2 を無効にする -->
    <TabItem Header="TabItem2" Name="TabItem2" IsEnabled="False">
        <Grid />
    </TabItem>
    <TabItem Header="TabItem3" Name="TabItem3">
        <Grid />
    </TabItem>
    <TabItem Header="TabItem4" Name="TabItem4">
        <Grid />
    </TabItem>
    <TabItem Header="TabItem5" Name="TabItem5">
        <Grid />
    </TabItem>
</TabControl>

VBの例

Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
    '4番目のタブを無効にする
    TabItem4.IsEnabled = False

    '5番目のタブを無効にする
    DirectCast(TabControl1.Items(4), TabItem).IsEnabled = False
End Sub

C#の例

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    // 4番目のタブを無効にする
    tabItem4.IsEnabled = false;

    // 5番目のタブを無効にする
    ((TabItem)tabControl1.Items[4]).IsEnabled = false;
}
タイトルとURLをコピーしました