我有以下代码:
private static readonly DependencyProperty IDProperty = DependencyProperty.Register(
"ID", typeof(int), typeof(DetailDataControl), new PropertyMetadata(-1, new PropertyChangedCallback(IDChanged)));
public int ID
{
get { return (int)GetValue(IDProperty); }
set { SetValue(IDProperty, value); }
}
private static void IDChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
// Do something here!
}
我可以看到,当我更改 ID 时,行 SetValue(IPproperty is called),但它不会调用 IDChanged。
Why?
您的代码是正确的,但是 PropertyChanged 回调在其更改之前不会被调用。尝试在连续的代码行中将属性更改为两个不同的值,并设置一个断点,您可以看到它已被命中。我相信它被设置为-1,因此它不会被调用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)