是否可以在一个全局位置关闭所有StackPanel的TabStop?

时间:2013-04-05 13:46:06

标签: c# wpf xaml stackpanel tabstop

我有一些UserControl,每个UserControl都包含许多StackPanel。我遇到的问题是每个StackPanel似乎都认为我在选择StackPanel的内容之前对它进行选项卡感兴趣。如果我想从StackPanel_A中存在的控件选项卡到StackPanel_B中存在的控件,我需要至少两次选项卡,从第一个控件到StackPanel_B,再到第二个控件。

我可以通过指定,例如

来关闭TabStop
<StackPanel KeyboardNavigation.IsTabStop="False" />

但考虑到我有多少StackPanel元素,它既繁琐又凌乱。

我有办法在一个全球的地方做到这一点吗?

1 个答案:

答案 0 :(得分:1)

您可以通过在全局范围内使用样式(例如App.xaml文件)来实现此目的:

<Application.Resources>
    <Style TargetType="{x:Type StackPanel}">
        <Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
    </Style>
</Application.Resources>

然后,这样您应用程序中的任何StackPanel都不会成为制表位。