データ検証を備えた WPF MVVM データ フォーム ウィンドウがあります。コントロールの多くはテキスト ボックスです。現在、データ バインディング トリガーはデフォルト、つまりフォーカスの喪失に設定されています。これは、フィールドが完全に入力される可能性が高い場合にのみフィールドが検証されることを意味します。そのため、数値を削除して別の数値を入力すると、一時的な空の値が入力エラーとして表示されなくなります。
ただし、欠点は、フォーカスがテキスト ボックスの外に移動した場合にのみ [保存] ボタンを有効にできることです。(どこにいても、編集されたコントロールのすぐ外です。他にフォーカス可能なものがあると仮定します。) これが唯一の変更である場合、ユーザーは [保存] ボタンが使用可能になるのを待っても何も起こりません。[保存] ボタンについては、即時バインディング トリガーを使用したいと思います。どうすればそれができますか?
編集:私の [保存] ボタン (ICommand を使用) は、入力が変更されて有効であると判断された場合にのみ有効になることを忘れていました。そのため、データ バインディングによって更新されるまでデータは変更されず、フォーカスが別のコントロールに移動するまで変更されません。