この記事は公開から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 添付プロパティ
以上です。