1

私の知る限り、依存関係プロパティをサブスクライブできる「PreviewPropertyChanged」はありませんが、値が変更されることを知る必要があります。私の考えは、強制値メソッドを再利用し、そこでチェックを行うことです(実際の変更が行われる前に呼び出される意味があるため、実際の強制が行われた後は当然です。そうすることで、既存の値と変更を決定するために値を強制し、変更がある場合は、プレビューのコードを起動します.これはこれを行う正しい方法ですか、それとも何か不足していますか?

4

1 に答える 1

1

了解しました。CoerceValueCallbackは、「XXXChanging」イベントを発生させるための優れた方法です。これにより、オブジェクトのコンシューマーは、値を変更したり、変更をキャンセルしたりすることができます。その後、強制は新しい値または変更された値を返します。CoerceValueCallbackパラメーターに含まれていないため、DependencyObjectから直接古い値を取得できます。

ちなみに、「プレビュー」イベントはトンネリングイベントです。これは、彼らが木の上から下に行くことを意味します。バブリングイベントは下から上に向かって進みます。したがって、PreviewPropertyChangedとは呼ばないようにします。これは、プロパティがすでに変更されており、トンネリングイベントであることを意味します。

于 2011-04-15T16:31:14.800 に答える