出于Tab顺序的目的,将无线电组视为单个元素

时间:2015-01-16 09:30:02

标签: wpf xaml user-interface radio-button

我有3个RadioButton代表3个选项(称为A,B,C),可以选择单个决策。在窗口上还有其他控件,例如按钮和文本框。

当我使用 Tab 在控件之间导航时,首先是A,然后是B,然后是C.

由于用户已经可以使用箭头键在RadioButton之间导航,我不希望 Tab 陷入困境,迭代所有3个无线电。相反,当用户在紧接无线电组之前的控件上按 Tab 时,焦点应切换到其中一个单选按钮。如果他再次按 Tab ,而不是切换到下一个单选按钮,它应该按Tab键顺序转到无线电组后面的任何元素。

我该怎么做?我只能用XAML吗?

1 个答案:

答案 0 :(得分:1)

您可以这样使用TabNavigation附加属性:

<Window x:Class="WpfApplication.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">

    <StackPanel Margin="4">
        <TextBox Margin="3" TabIndex="1" />
        <ItemsControl IsTabStop="false" Margin="3" TabIndex="2" KeyboardNavigation.TabNavigation="Once">   
            <RadioButton Content="A" Margin="1" />
            <RadioButton Content="B" Margin="1" />
            <RadioButton Content="C" Margin="1" />
        </ItemsControl>
        <TextBox Margin="3" TabIndex="3" />
    </StackPanel>
</Window>

这是你的意思吗?