我是一个有代码“洁癖”的人,这一点,在WPF/Silverlight中,表现为不到万不得已绝不用DP,因为大多数情况用INotifyPropertyChanged凑活凑活就可以了,而且这样生成的代码最简洁。而为了DP需要写4段代码:DP声明、get和set方法、以及回调函数,把原先的整齐搞得一塌糊涂,这是我不喜欢的。

但是,如果牵扯到XAML中一些不能实现的属性,就必须使用DP了。尤其是Silverlight这个WPF的子集,大部分功能需要我们自己定义,比如说,TemplateSelector。