DependencyProperty.UnsetValue和DataContextChanged事件

时间:2013-10-15 09:40:36

标签: wpf dependency-properties

我想知道在DataContext属性上设置时DependencyProperty.UnsetValue是否会触发DataContextChanged事件?

MSDN对此有何疑惑:

指定WPF属性系统使用的静态值,而不是null,表示该属性存在,但没有由属性系统设置其值。

“没有设置它的值”所以当设置DataContext时,DataContextChanged事件不会触发,对吗?

我希望我能够以某种方式对此进行测试,但我正在通电话。

先谢谢你们,如果它有重复,请告诉我,所以我在你们downvote之前删除帖子:)

1 个答案:

答案 0 :(得分:0)

DataContext明确设置为DependencyProperty.UnsetValue会触发DataContextChanged事件。设置DependancyProperty值时,DependancyObject.SetValue会运行多项检查和逻辑,当我们尝试将DataContext设置为DependencyProperty.UnsetValue时,会将其设置为null并引发事件。