1

ネストされたプロパティと ObservableCollection を含むビュー モデルの UndoRedo コンテナーを実装する途中です。私はアプリケーションで例外処理に PostSharp を使用しており、記事に記載されているように元に戻すエンジンを実装するためにそれを再利用することを考えました: http://www.postsharp.net/aspects/examples/undoredo

上記の記事はバインド制限のあるwindowsForms向けですが、リッチバインディングのwpfプラットフォームを採用するようにエンジンを作成し、単一のプロパティに対してうまく機能しています。

ネストされたプロパティとコレクションを処理するために UndoableAttribute を拡張する方法を考えています。私の試みとグーグルのスキルは、今まで無駄であることが証明されています. 任意のアイデア、またはいくつかの記事へのポインタをいただければ幸いです。

4

1 に答える 1

0

それは本当にあなたが何を求めているかによって異なります。オブジェクト グラフに元に戻す機能を提供することは、非常に複雑な作業になる可能性があります。達成したいことをより具体的に述べる必要があります。

一般に、ネストされたすべてのオブジェクトをインストルメント化し、すべての変更をある種のグローバル コンテナーに格納するための特殊なコレクションを作成できます。

PostSharp.Patterns ライブラリの将来のリリースの一部として、このような機能の提供に取り組んでいます。3.1 または 3.2 にする必要があります。

于 2013-03-29T13:42:17.653 に答える