我现在将在我的 WPF 应用程序中专注于地狱。焦点在元素之间跳来跳去,似乎消失了,只是在反复按下 Tab 键时才出现在另一个元素上。
有没有我可以绑定标签的属性,或者只是告诉我当时键盘焦点锁定在什么上的东西?有时我可以看到蚂蚁轨迹(虚线)表明某物有焦点,但我不知道它在关闭键盘焦点的周围是什么!
您可能正在寻找的是:
(System.Windows.Input.Keyboard.FocusedElement 作为 FrameworkElement).Name
您必须为其设置一个 DependencyProperty,以便您可以绑定到它。
瓦卡诺
焦点问题可能很难分析,因为您使用调试器所做的几乎所有事情都会影响焦点。
一个更好的问题是为什么焦点会跳来跳去?您是否明确设置焦点?也许关于您的实现的一点提示(即您正在使用哪个容器)可能会帮助我们回答。
我强烈推荐阅读这篇文章。它附带了一些可以帮助调试焦点问题的源代码,我经常最终使用这些代码来帮助解决我自己的焦点问题。
http://julmar.com/blog/programming/part-1-its-basically-focus/
也许您可以尝试为控件的 TabIndex 属性设置适当的值?这应该使焦点“跳转”到您希望它在按 Tab 时跳转的“路径”上。