WPFを使用してVBでBindingSourceを宣言するには? WPF の代わりに Windows フォームを使用していたときのように、BindingSource.CancelEdit() のようなコマンドを使用できません。
2 に答える
オブジェクトを編集するすべてのコントロールを含む XAML の要素に BindingGroup を設定します。デフォルトでは、これらのコントロールの UpdateSourceTrigger が Explicit に設定されます。つまり、現在編集中のオブジェクトのプロパティを実際に変更するには、BindingGroup.UpdateSources を呼び出す必要があります。そのため、Submit コマンドなどでそれを行います。
編集をキャンセルしたい場合は、BindingGroup.CancelEdit を使用して行うことができます。これにより、コントロール内のキャッシュされた値が破棄され、バインドされたプロパティの値にリセットされます。
これは、IEditableObject や Memento を実装するよりもずっと簡単だと思います...
短い答えは良いニュースではありません.これは同等の方法ではありません. 代わりに、アプローチを少し変える必要があります。1 つの方法は、基になるクラスにIEditableObjectを実装する(または編集可能なクラスにラップする) ことです。2 つ目は、元に戻す/やり直し機能を実装することです。上記の太字の用語および/または記念パターンを検索すると、多くの良い例が見つかると思います.以下はその1つです.