3

这个有点难以解释。

我有一个带有一些文本框的用户控件。我在同一个窗口中的这个用户控件上方也有一个菜单。每当我离开时,LostFocus 就会在文本框上正确触发,这就是我想要的。奇怪的是,如果我单击窗口顶部的菜单按钮,文本框上不会触发 LostFocus 事件。有没有一种优雅的方法来确保我的菜单正确地允许 LostFocus 触发任何最后一个焦点的控件?

我还想避免必须更新 BindingExpressions 否则我可能会为 N 个文本框执行此操作,这是不可取的。

我无法想象实现这一目标太难了。我只是不明白这怎么行不通:在大多数其他情况下,LostFocus 总是会触发。

有任何想法吗?谢谢你。

4

1 回答 1

0

菜单也是 WPF 还是 Winforms / UnManaged?如果两者中的任何一个都不会触发失去焦点事件。从菜单执行保存或其他数据功能时,这可能会对 WPF 控件造成严重破坏。为了解决这个问题,我不得不实施多种方法来解决这个问题。最简单的方法是在用户控件本身上实现鼠标离开事件并在代码中手动执行您需要的任何操作。

于 2011-08-23T03:44:17.223 回答