Column
クラスの VisiblePosition
プロパティのプロパティ変更イベントを購読するには、次のコードを使用します。
DependencyPropertyDescriptor dpd = DependencyPropertyDescriptor.FromProperty(ColumnBase.VisiblePositionProperty, typeof(Column));
if (dpd != null)
{
dpd.AddValueChanged(col, ColumnVisiblePositionChangedHandler);
}
次に、 ColumnVisiblePositionChangedHandler
メソッドの定義を示します。
static internal void ColumnVisiblePositionChangedHandler(object sender, EventArgs e)
問題は、プロパティの古い値を取得する必要があることです。それ、どうやったら出来るの?
ありがとう、
ベストアンサー
残念ながら、プロパティ変更イベントハンドラをこのように登録すると、古い値の情報が取得されません。
1つの回避策は、プロパティ値をどこかに格納することです(これはあなたの古い値です)。それをイベントハンドラの現在の値と比較します。
もう1つの回避策は、独自の依存関係プロパティ(DP)を作成し、DPとコントロールのDP間のバインディングを作成することです。
WPFスタイルで通知を変更できます。
これに関する記事があります。