gpt4 book ai didi

wpf - 当出现验证错误时,防止失去 TextBox 焦点的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 16:17:26 25 4
gpt4 key购买 nike

我搞砸了PreviewLostKeyboardFocus这几乎可以让你到达那里。我见过几个使用 LostFocus 的实现。 , 但这只会迫使人们重新关注 TextBox失去焦点后,您可以轻松地在屏幕上看到这种变化。基本上,我只是在寻找使用 OnValidating 可以获得的相同类型的行为。在 WinForms 中。

最佳答案

在我看来,最好的方法通常是不这样做。在值有效之前禁用其他控件或阻止保存几乎总是更好。

但如果你的设计真的需要这种能力,你应该这样做:

  • 拦截Preview窗口级别的键盘和鼠标事件版本,或您想要防止焦点更改的任何范围(例如,可能不是您的菜单栏)。
  • 当在文本框中检测到 Tab KeyDown 或 Return KeyDown 时,或者当在文本框外检测到具有焦点的 MouseDown 时,在绑定(bind)表达式上调用 UpdateSource(),然后如果验证失败,则将 Handled=true 设置为防止进一步处理 KeyDown 或 MouseDown 事件。
  • 还要继续处理PreviewLostKeyboardFocus捕捉不是来自键盘或鼠标的任何焦点更改原因,或者您的其他代码无法识别的任何原因。
  • 关于wpf - 当出现验证错误时,防止失去 TextBox 焦点的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2163303/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com