1 / 4
文档名称:

提高WPF性能技巧分享.docx

格式:docx   大小:89KB   页数:4页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

提高WPF性能技巧分享.docx

上传人:ttteee8 2022/6/4 文件大小:89 KB

下载得到文件列表

提高WPF性能技巧分享.docx

相关文档

文档介绍

文档介绍:四堕的应用可以帮助我们实现许多基于图形界面方面的功能实现。不过在实际使用中, 开发人员往往都追求更高性能的使用。在这里就介绍一下有关WPF性能的提高方法。
全面介绍WPF UI自动化技术
深入探讨WPF UI自动化模型
全面探讨WPFpendencyObject/DependencyProperty高。注意这里指的是访问,不要和前面的绑定 混淆了。但是,把属性注册为DependencyProperty会有很多的优点:比如继承、数据绑 定和Styleo所以有时候我们可以在实现Dependencyproperty的时候,利用缓存机制来 加速访问速度:看下面的缓存例子:
public static
readonly Dependencyproperty MagicStringProperty = DependencyProperty. Register("MagicString", typeof (string),
typeof (MyButton) , new Property-Metadata (new PropertylnvalidatedCallback(OnMagic StringPropertyInvalidated),new GetValue Override(MagicStringGetValueCallback)));
private static void OnMagicString PropertyInvalidated(DependencyObject d) (
//将缓存的数据标识为无效
((MyButton)d)._magicStringValid = false;
}
private static object MagicStringGet ValueCallback (Dependency-Object d) (
//调用缓存的访问器来获取值
return ((MyButton)d).MagicString;
}
//私有的CLR访问器和本地缓存public string MagicString {
get (
//在当前值无效时,获取最新的值保存起来if
(I_magicStringValid) (
_magicString = (string)GetValueBase (MagicStringProperty);
_magicStringValid = true;
}
return _magicString; }
set { SetValue(MagicString
Property, value);
}
}
private string _magicString;
private bool _magicStringValid;
另外,因为注册的DependencyProperty在默认是不可继承的,如果需要继承特性,
也会降低DependencyProperty值刷新的效率。注册DependencyProperty属性时,应 该把DefaultValue传递给Register方法的参数来实现默认值的设置,而不是在构造函数中 设置。
5、 使用元素Text Flow和TextBlock时,如果不需要TextFlow的某些特性,就应该考 虑使用TextBlock