編集のキャンセル処理とかUndoとか
以下のブログの記事がすごく参考になった。
http://mslaboratory.blog.eonet.jp/default/2012/09/viewmodel-d26d.html
http://mslaboratory.blog.eonet.jp/default/2012/09/viewmodelundo-38c7.html
System.Transactions名前空間とか、IEnlistmentNotificationインターフェースとか、.netにこんな便利なものがあったのか、、、と。
ただ、IEnlistmentNotificationはweb上にあんま情報ないし、TransactionScopeクラスもDBを扱うときに使うことが多いみたいで、、
こういうスタンドアローンなWPFのデスクトップアプリで使うことってあんまないのかな。
Undoの方は、編集のキャンセル処理の応用って感じ。
こっちはTransactionやIEnlistmentNotificationとかは使わずに、VMのプロパティをリフレクションを使って取得して、Undo用の履歴に記録する方法。
覚えておくとどっかで使えそうなのでメモしとこう。