我有一个应用程序,其中有很多文本框和一些按钮,如保存、另存为等。
当用户编辑文本框时,我必须检查数据库的某个范围,验证范围并更新数据库。如果用户输入的值有任何错误,那么我不应该让 TextBox 失去焦点。
我为此使用了 LostFocus 事件,它工作正常,直到最近我在我的应用程序中发现了一个错误。
错误:用户在 TextBox 中编辑一个值,然后单击“保存”按钮;未调用 LostFocus 事件,因此数据库未更新:(
现在我的问题是我应该在 TextBox 中使用哪个事件来更新数据库。我尝试了 TextChanged 事件,但它会验证每个字符并使我的应用程序变慢。我在为这种应用程序选择正确的事件时感到困惑!
注意:** 按钮位于不同的 UserControl 中!
编辑 1:我在单击按钮时附加了一些命令,这些命令在 LostFocus 之前执行!我可以设置优先级或附加行为或命令之类的东西应该在 LostFocus 之后执行吗?
编辑 2:我只是通过禁用一些命令来调试应用程序,我发现在某些情况下,DelegateCommand 在 LostFocus 之前执行,所以我想避免这种情况。我该怎么办?在开发过程中,我觉得开发纯 MVVM 应用程序是不可能的,所以我有点使用了一些代码隐藏!