是否可以检测何时在 Silverlight 中的 DependencyProperty 上设置了 Xaml 绑定?
例如,如果我有一个具有单个依赖属性的自定义用户控件和一个像这样声明的绑定:
public class MyControl : UserControl
{
public static readonly DependencyProperty TestProperty =
DependencyProperty.Register("Test",
typeof(object), typeof(MyControl),
new PropertyMetadata(null));
public object Test
{
get { return GetValue(TestProperty); }
set { SetValue(TestProperty, value); }
}
}
<MyControl Test="{Binding APropInViewModel}>
</MyControl>
我可以在 MyControl 代码中改成这样吗?
// Ctor
public MyControl()
{
TestProperty.BindingChanged += new EventHandler(...)
}
例如,我可以获得绑定通知吗?
笔记:
这是为了解决一个棘手的优先顺序问题,在此处进行了描述,因此仅在 DependencyPropertyChanged 处理程序中检查新值是行不通的 - 因为属性更改处理程序不会触发!