WPFコンテナ内のタブナビゲーションを纏めて無効にする方法

この記事は公開から3年以上経過しています。

WPFでタブナビゲーション(TABキーによるフォーカス移動)を無効にする際、個別コントロールのControl.IsTabStopプロパティを指定するのではなく、コンテナ内の全コントロールを無効にする方法。

対応

タブナビケーションを無効にしたいコントロールを包含するコンテナ要素にKeyboardNavigation.TabNavigation, KeyboardNavigation.ControlTabNavigation添付プロパティをNoneで設定する。

サンプルソースコード(XAML)

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <!-- パネル内の個別コントロールのタブナビゲーションを無効にする場合 -->
    <UniformGrid
        Grid.Row="0"
        Rows="2">
        <TextBox
            IsTabStop="False"
            Text="item 1-1" />
        <TextBox
            IsTabStop="False"
            Text="item 1-2" />
    </UniformGrid>
    <!-- パネル内の全コントロールのタブナビゲーションを無効にする場合 -->
    <UniformGrid
        Grid.Row="1"
        Rows="2"
        KeyboardNavigation.TabNavigation="None"
        KeyboardNavigation.ControlTabNavigation="None">
        <TextBox
            Text="item 2-1" />
        <TextBox
            Text="item 2-2" />
    </UniformGrid>
</Grid>

参考ウェブサイトなど

  • Microsoft Docs
    KeyboardNavigation.TabNavigation 添付プロパティ

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする