DependencyProperty和INotifyPropertyChanged区别

 WPF数据绑定的资源,可以是CRL对象;可以绑定CLR对象的属性,属性或索引器;绑定数据的解释是通过Microsoft . net Framework反射或ICustomTypeDescriptor解释;解释绑定的方法有三种,其中最常的是

  • 成为依赖对象派生类
  • 实现INotifyPropertyChanged
     这两种方法的区别在于: CLR通常采用实现INotifyPropertyChanged达到绑定的目标;继承至依赖对象的对象,则通过定义依赖属性实现绑定。
    这两者的区别在于:
  • 针对的对象不同,一个是针对CLR对象,一个是针对依赖对象;
  • 执行效率不同;依赖对象效率更高;

 根据MSDN官方统计数据1000个TextBlock元素的Text属性的速度
在这里插入图片描述

 下表显示了绑定到单个大CLR对象和多个小CLR对象的数据的绑定和呈现时间
在这里插入图片描述

 MSDN官方关于数据绑定的说明:
https://docs.microsoft.com/en-us/dotnet/desktop/wpf/advanced/optimizing-performance-data-binding?redirectedfrom=MSDN&view=netframeworkdesktop-4.8
 也可以从这里下载:
https://download.csdn.net/download/BitoLink/20970715

原文地址:https://www.cnblogs.com/MonoHZ/p/15125947.html