绑定的性能取决于绑定的对象的类型.对于INotifyPropertyChanged,不使用反射,而是在解析CLR属性时使用.
微软对此有一个很好的写作:"优化性能:数据绑定".
与绩效相关的关键细节:
如果源对象是CLR对象并且source属性是CLR属性,则Windows Presentation Foundation(WPF)数据绑定引擎必须首先对源对象使用反射... 这一系列的反射操作可能非常耗时 从绩效角度来看.
解析对象引用的第二种方法涉及实现INotifyPropertyChanged接口的CLR源对象和作为CLR属性的source属性.在这种情况下,数据绑定引擎直接在源类型上使用反射并获取所需的属性.这仍然不是最佳方法,但 工作集要求的成本要低于第一种方法.
解析对象引用的第三种方法涉及一个源对象,它是一个DependencyObject,一个源属性是DependencyProperty.在这种情况下,数据绑定引擎不需要使用反射.相反,属性引擎和数据绑定引擎一起独立地解析属性引用. 这是解析用于数据绑定的对象引用的最佳方法.
...
WPF允许您将数据绑定到XML内容; 但是,绑定到XML内容的数据比绑定到CLR对象的数据慢.如果唯一目的是数据绑定,请不要将CLR对象数据转换为XML.
(重点补充)
| 归档时间: |
|
| 查看次数: |
706 次 |
| 最近记录: |