【发布时间】:2013-05-29 08:15:05
【问题描述】:
经过相当多的研究,我没有得到它,我怎样才能像我们在 Winforms 中那样实现简单的 Lostfocus。在 Windows 窗体控件中,我们通常使用 LostFocus,当有人按 TAB 键失去焦点或使用鼠标选择其他控件时,我会使用它。但 WPF 并非如此。我第一次使用 LostFocus,但是当我按下 tab 时它不会触发事件。但是,当我使用鼠标单击其他控件时,它确实会正确触发。所以,这并不能解决我的问题。
其次,我尝试使用 LostKeyboardFocus,它在使用 TAB 键时会被触发,并且在少数情况下当我使用鼠标选择其他元素时,但当我从父窗口菜单中选择菜单项时不会。
另外,我可以控制用户控件,我将它放在父窗口的 TAB 控件中。但是当我按下 TAb 键时,它总是选择父窗口菜单而不是我在 UserControl 中的 TreeView。
任何建议都会有很大帮助。谢谢。
【问题讨论】:
-
请不要在同一个问题中问两个不相关的问题。
-
相关:stackoverflow.com/questions/5850784/… - 阅读以了解为什么焦点不是一个简单的概念。
-
不知道为什么有人提出否定的问题。当我注意到我的代码时,我只是在询问对行为的合乎逻辑的解释,以及什么是最好的解决方法或解决方案。对不起,如果我不清楚。
-
@Daneil,很抱歉第二个问题,但我认为它不相关。无论如何,您提到的问题是该人拥有 isEdit 的特定情况。对于我的情况,这对我没有意义。这是无条件的和简单的。希望我说得通。
-
逻辑焦点和键盘焦点的基本概念是相同的。我并不是说您的问题是重复的,但是您可以从理解所涉及的概念中受益。