sea*_*717 18 wpf dependency-properties
我有以下代码为类的VisiblePosition属性订阅属性更改事件Column:
DependencyPropertyDescriptor dpd = DependencyPropertyDescriptor.FromProperty(ColumnBase.VisiblePositionProperty, typeof(Column));
if (dpd != null)
{
dpd.AddValueChanged(col, ColumnVisiblePositionChangedHandler);
}
Run Code Online (Sandbox Code Playgroud)
以下是该ColumnVisiblePositionChangedHandler方法的定义:
static internal void ColumnVisiblePositionChangedHandler(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
问题是我需要获得属性的旧值.我怎么做?
谢谢,
在附加的事件处理程序中注册依赖项属性时,可以执行此操作.请在下面找到依赖项属性的语法以及如何在PropertyChanged事件处理程序上获取旧值:
//Declaration of property
public static readonly DependencyProperty MyNameProperty =
DependencyProperty.Register("MyName", typeof(PropertyType),
typeof(ClassName),
new PropertyMetadata(null,
new PropertyChangedCallback(MyNameValueChanged)));
//PropertyChanged event handler to get the old value
private static void MyNameValueChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs eventArgs)
{
object oldValue = eventArgs.OldValue; //Get the old value
}
Run Code Online (Sandbox Code Playgroud)