在 StackPanel 中存在用户控件中的文本框的启用制表位

本文关键字:启用 文本 存在 用户 控件 StackPanel | 更新日期: 2023-09-27 17:56:51

我有一个由复选框和文本框组成的用户控件。我根据对象的属性在运行时动态创建此用户控件的实例,并将它们添加到 StackPanel 中。

我想在这些文本框之间启用选项卡导航。为用户控件中的文本框设置 IsTabStop="True" 不起作用。我还为文本框设置了键盘导航.TabNavigation="包含",但没有成功。

在 StackPanel 中存在用户控件中的文本框的启用制表位

我找到了解决方案:

设置容器的键盘导航属性,而不是文本框。我在代码隐藏中执行此操作,因为我动态创建 StackPanel 实例。

MyStackPanel.IsTabStop = true;    
MyStackPanel.SetValue(KeyboardNavigation.TabNavigationProperty, KeyboardNavigationMode.Cycle);

还要确保 TextBox 将 IsTabStop 属性设置为 True:

KeyboardNavigation.IsTabStop="True"