たくさんのTextBoxと、Save、SaveAsなどのいくつかのボタンがあるアプリケーションがあります。
ユーザーがTextBoxを編集するとき、データベースで範囲を確認し、範囲を検証して、データベースを更新する必要があります。ユーザーが入力した値にエラーがある場合は、TextBoxがフォーカスを失うことを許可しないでください。
私はこれにLostFocusイベントを使用していましたが、最近アプリケーションのバグを発見するまでは正常に機能していました。
バグ:ユーザーがTextBoxの値を編集してから、[保存]ボタンをクリックします。LostFocusイベントが呼び出されないため、データベースが更新されません:(
ここで私の質問は、データベースを更新するためにTextBoxでどのイベントを使用する必要があるかです。TextChangedイベントを試しましたが、すべての文字に対して検証され、アプリケーションが遅くなります。この種のアプリケーションに適したイベントを選択するのに混乱しています。
注:**ボタンは別のUserControlにあります!
編集1:ボタンのクリックにいくつかのコマンドがアタッチされています。これらのコマンドはLostFocusの前に実行されます!! 優先順位を設定したり、添付の動作やコマンドのようなものをLostFocusの後に実行することはできますか?
編集2:いくつかのコマンドを無効にしてアプリケーションをデバッグしていましたが、場合によっては、DelegateCommandがLostFocusの前に実行されるため、それを避けたいと思います。どうすればそれについて行くことができますか?開発中に、純粋なMVVMアプリケーションを開発することは不可能だと感じたので、少しコードビハインドを使用しています。