アプリケーション(ユーザーがキャンバスに追加できる)にいくつかのコントロールがあり、それぞれにさまざまなプロパティ(主に依存関係プロパティ)があります。ユーザーは、プロパティグリッド(色、テキストなど)を介してプロパティを変更できます。
保存機能を実装しているので、ユーザーがキャンバスに変更を加えた場合は、離れる前にドキュメントを保存するように依頼します。現在、追加/削除/サイズ変更のような操作を追跡しています(IsChangedフラグをtrueに変更)。また、ユーザーがpropertygridを介してコントロールの色を変更した場合など、ユーザーが行ったプロパティの変更を追跡したいと思います。
簡単な解決策の1つは、プロパティごとにPropertyChangedCallbackを処理し、その中にフラグを設定することです。これに伴う問題は、各コントロールのプロパティごとにPropertyChangedCallbackを記述する必要があると同時に、追加されたすべての新しいプロパティが同じことを行うようにする必要があることです。
私の質問:たとえば、グローバルな場所で、プロパティの変更を追跡する他のより良い方法はありますか?