TabIndex 在视图之间跳转

TabIndex jumps between views

我必须查看重叠的视图。我正在使用一个视图来显示弹出窗口。在这个弹出窗口中有 3 个文本框和两个按钮。在这个 UserControl 中,我已经正确设置了 TabIndex。这些视图位于 ListModule 中。这些都加载到 MainModule 的两个单独的 UserControls 中。

但是现在,当我使用 Tab 键浏览此弹出窗口 window 时,在第二个按钮之后,焦点会跳出弹出窗口并返回到主视图。之后是弹出窗口下的另一个视图。

所以基本上每个可以使用 tab 键聚焦的控件在我的应用程序中切换时都会聚焦。

如何将 tabindex 限制为我的特定弹出视图? (不确定这里是否需要一些代码以及哪些部分。如果是,我会提供一些。)

我想通了。

基于 this answer 我在 UserControl 中尝试了 KeyboardNavigation.TabNavigation。将其设置为 KeyboardNavigation.TabNavigation="Cycle" 会在我的 UserControl 中保留制表符。然后像往常一样把每个控件的TabIndex.

示例:

<UserControl x:Class="ListModule.Views.AddNewItemView"
         ...
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         mc:Ignorable="d" 
         d:DesignHeight="220" d:DesignWidth="320"
         Background="#80FFB887"
         KeyboardNavigation.TabNavigation="Cycle">