WPF:在旧的WinForms中失去焦点

本文关键字:失去 焦点 WinForms WPF | 更新日期: 2023-09-27 18:15:45

经过一番研究,我没有得到它,我如何才能像我们在Winforms中使用的那样实现简单的Lostfocus。在Windows窗体控件中,我们通常有LostFocus,当有人按TAB键失去焦点或使用鼠标选择其他控件时,我使用它。但WPF的情况并非如此。我首先使用LostFocus,但是当我按tab时,它不会触发事件。然而,当我用鼠标点击其他控制,它确实得到正确的解雇。所以,这并不能解决我的问题。

第二,我尝试使用LostKeyboardFocus,它确实在使用TAB键时被触发,并且在少数情况下,当我使用鼠标选择其他元素时,但当我从父窗口菜单中选择菜单项时不会被触发。

另外,我在用户控件上有我的控件,我在父窗口的TAB控件。但是当我按TAb键时,它总是选择父窗口菜单,而不是我在UserControl中的TreeView。

任何建议都是很有帮助的。谢谢。

WPF:在旧的WinForms中失去焦点

嗯,我对寻找逻辑推理的追求仍然没有得到满足,但我把简单的事情简单地完成了。@Daniel,正如我所说,我认为这两个问题是相关的,答案确实是相关的。也许你能解释一下我的发现,我把答案放在这里。

我只是把我的文本框和其他控件[TreeView]的TabIndex属性设置为1和2,现在当我按TAB或使用鼠标选择TreeView项目时,我得到了失去焦点。因为我有标签索引设置在控制,它不选择父菜单项[它选择它作为最后一次现在]。这就使得Lostfocus成为我应该使用的函数。

任何有解释或更好的解决方案的人仍然被要求分享。谢谢。