WPF:将焦点导航到用户控件的不同实例上

时间:2014-10-03 16:08:09

标签: c# wpf focus

我有一个用户控件(ip地址),其中有四个文本框。 我期望的是,如果用户按下一个文本框中的选项卡按钮,焦点切换到下一个(不超出IP地址控制)。如果我有一个控件,一切正常。

如果我在一个容器中有更多的IP地址控制,我在一个控件的一个文本框中按Tab键,然后焦点切换到另一个控件的同一文本框。

看看下面的图片:如果我按下"标签"当焦点在1时,它会变为2。

focus error

如何更改我的用户控件,以便焦点不会跳转"在用户控制之外?

提前致谢。

1 个答案:

答案 0 :(得分:2)

如果您希望标签导航包含在您的控件集 KeyboardNavigation.TabNavigation 附加属性中,请添加到UserControl上的 Contained

<UserControl KeyboardNavigation.TabNavigation="Contained">
  .....
</UserControl>

或者,如果您希望它在UserControl中循环,即从最后到第一个,然后返回到最后一个textBox,请将其设置为 Cycle

<UserControl KeyboardNavigation.TabNavigation="Cycle">
  .....
</UserControl>