我搞砸了PreviewLostKeyboardFocus
这几乎可以让你到达那里。我见过几个使用 LostFocus
的实现。 , 但这只会迫使人们重新关注 TextBox
失去焦点后,您可以轻松地在屏幕上看到这种变化。基本上,我只是在寻找使用 OnValidating
可以获得的相同类型的行为。在 WinForms 中。
最佳答案
在我看来,最好的方法通常是不这样做。在值有效之前禁用其他控件或阻止保存几乎总是更好。
但如果你的设计真的需要这种能力,你应该这样做:
Preview
窗口级别的键盘和鼠标事件版本,或您想要防止焦点更改的任何范围(例如,可能不是您的菜单栏)。 PreviewLostKeyboardFocus
捕捉不是来自键盘或鼠标的任何焦点更改原因,或者您的其他代码无法识别的任何原因。 关于wpf - 当出现验证错误时,防止失去 TextBox 焦点的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2163303/