各フォームの ElementHosts 内でホストされる WPF UserControls を備えた従来の WinForms MDI を使用するアプリケーション内で発生している問題の原因を最近発見しました。問題は、ユーザーが ViewModel プロパティに TwoWay バインドされた TextBox 内のテキストを変更すると、ツールバーの [保存] ボタンをクリックしたときにプロパティのセッターが設定されないことです。この動作の結果、最後に設定されたテキスト設定が保存されません。
私は LostFocus のデフォルトの UpdateSourceTrigger 値を使用しているので、ツールバーの WinForms ベースの [保存] ボタンをクリックしても、WPF TextBox 要素がフォーカスを失っていないと思います。問題を理解したので、この問題を解決するための正しい方法または最善の方法が知りたいです。
私が考えることができる 2 つの主なオプションは、コントロールのフォーカスを失うことなくセッターを更新するように手動でプロンプトを表示するか、通常のソース更新が行われるように TextBox のフォーカスを緩めるだけです。