このコード行を使用して、TextBox コントロールをオブジェクトにデータバインドしています。
textBox1.DataBindings.Add("Text", myObject, "Text", false, DataSourceUpdateMode.OnPropertyChanged);
期待どおりに動作します。ただし、更新モードを OnValidation に変更すると、データバインディングは Object->Control の一方通行でのみ機能します。つまり、検証時にテキストボックスに何かを入力すると、値はオブジェクトの Text プロパティの値にリセットされます。その逆ではありません。
テスト プロジェクトでこの問題を再現しようとしましたが、失敗しました。すべての「より単純な」バージョンは期待どおりに機能しています。
私が言えることは、 INotifyPropertyChanged プロパティが抽象クラスに実装されているということです。私のオブジェクトはそのクラスを継承します。また、TextBox コントロールが作成され、実行時にデータバインドされてからフォームに追加されます。私はテストプロジェクトでそれをすべて試しましたが、うまくいったので、ここに何かが欠けています。
これをデバッグする方法に関するヒントは大歓迎です。ありがとう。