似乎当WPF应用程序启动时,没有任何东西具有焦点。
这真的很奇怪。我使用的所有其他框架都做了您所期望的事情:将初始焦点放在Tab键顺序中的第一个控件上。但我已经确认它是WPF,而不仅仅是我的应用程序--如果我创建一个新窗口,在其中放入一个TextBox,然后运行应用程序,TextBox直到我点击它或按Tab键时才有焦点。糟透了。
我的实际应用程序比TextBox复杂得多。我在UserControls中有几层UserControls。其中一个UserControls有Focusable="True“和KeyDown/KeyUp处理程序,我希望它在我的窗口一打开就有焦点。不过,我在某种程度上仍然是WPF的新手,而且我没有太多的运气来弄清楚如何做到这一点。
如果我启动我的应用程序并按下Tab键,然后焦点转到我的可聚焦控件,它就会开始以我想要的方式工作。但我不希望我的用户在开始使用窗口之前必须按Tab键。
我尝试过使用FocusManager.FocusedElement,但我不确定要将它设置在哪个控件上(顶层窗口?包含可聚焦控件的父级?可聚焦控件本身?)或者将其设置为什么。
窗口一打开,我需要做什么才能让我的深度嵌套控件具有初始焦点?或者更好的是,在Tab键顺序中聚焦第一个可聚焦的控件?
https://stackoverflow.com/questions/817610
复制相似问题