XAML 当焦点改变时,是否可以检测到哪个元素被聚焦?

uqzxnwby  于 2023-08-01  发布在  其他
关注(0)|答案(2)|浏览(70)

我正在用WPF开发一个应用程序,我试图在其中控制Tab键顺序。为此,我删除了这些元素的标签控件,这些元素不需要有一个标签停止:

KeyboardNavigation.IsTabStop="False"

字符串
但是我在某个地方丢失了一个标签,我想知道是否有一种方法可以检查在每次焦点更改时哪个确切的元素获得了焦点。
我搜索了this,但我不知道如何应用它。
你知道如何检测每一个焦点元素吗?

enxuqcxy

enxuqcxy1#

由于这只在设计时需要,因此似乎不需要编程解决方案,因此一个选项是使用Snoop
通过将Snoop附加到您的WPF应用程序,您将能够查看当前具有焦点的元素。获得焦点的元素还显示为可单击的链接,单击该链接可以查看可视化树中的确切位置。


的数据
如果您查看此Snoop的底部,您可以看到当前关注的元素是一个名为“AvailableDevicesComboBox”的ComboBox

fnvucqvd

fnvucqvd2#

我知道这已经有一段时间了,但我想那些想寻找这个问题答案的人应该知道,现在Visual Studio在“Live Visual Tree”中为用户提供了一个名为“Track Focused Element”的工具。


的数据



它突出显示应用中当前关注的元素。这个工具真的帮助我调试应用程序,并修复了一个非常烦人的bug。

相关问题