【XAML】RadioButtonは選択されているボタンだけタブ遷移したい
今回は、XAMLのRadioButtonのタブ遷移の話です。
デフォルトの設定では、グルーピングされているRadioButtonは、選択されている、されていないに関わらず、すべてのRadioButtonにタブフォーカスが当たる仕様となっています。
「選択されているラジオボタンだけタブ遷移させたい」
そんなときありますよね?あります。
そんなときは、RadioButtonの親要素のStackPanelコントロールに以下のプロパティを追加してやればいいんです。
KeyboardNavigation.TabNavigation="Once"
実際のコードでは次のように使います。
<Grid> <Grid Height="60" VerticalAlignment="Top"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" KeyboardNavigation.TabNavigation="Once" KeyboardNavigation.TabIndex="0" > <RadioButton Content="Button1" VerticalContentAlignment="Center" GroupName="RadioGroup" /> <RadioButton Content="Button2" VerticalContentAlignment="Center" Margin="30,0,0,0" GroupName="RadioGroup" /> </StackPanel > </Grid> <Button Content="Button" Height="30" Width="75" TabIndex="1" /> </Grid>
こうすることで、StackPanelの中の要素には、1度しかタブフォーカスが当たらないように設定できます。
今回はRadioButtonの例で紹介しましたが、ほかのコントロールでも同様に制御が可能です。
以下、MSの公式サイトの情報です。
KeyboardNavigationMode 列挙型
今回はこれで終わりです。それではまた。