首页 > 代码库 > WPF性能优化的一些建议
WPF性能优化的一些建议
- 尽量多使用Canvas等简单的布局元素,少使用Grid或者StackPanel等复杂的,减小开销。
- 少用Margin Padding尤其避免嵌套使用。
- 在自定义控件,尽量不要在控件的ResourceDictionary定义资源,而应该放在Window或者Application级。因为放在控件中会使每个实例都保留一份资源的拷贝。
- 自定义控件尽量从轻量级的控件继承。
- 需要绑定的属性设置为DependencyProperty的依赖项属性效率要高很多,不要自己写继承自INotifyPropertyChanged的属性:http://www.codeproject.com/Articles/62158/DependencyProperties-or-INotifyPropertyChanged
- 尽量使用Static Resources不用DynamicResource。
- 文字少的时候用TextBlock或者label,长的时候用FlowDocument。
- 绑定的字符串用Textblock不用label。
- 如果正在绘制的内容需要频繁地重新绘制,考虑设置各Uelement对象的CacheMode="BitmapCache"。
- 尽量不使用DropShadowEffect投影效果。
- 避免使用 Run 来设置文本属性:(MSDN)
<TextBlock> <Run FontWeight="Bold">Hello, world</Run></TextBlock><TextBlock FontWeight="Bold"> Hello, world</TextBlock>
- 尽量不要过分依赖使用值转换器。
- 尽量少使用第三方类库。
- 计时尽量使用DispatcherTimer替代Timer。
- 尽量不要设置控件Opacity属性而用Visibility。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。