04 2014 档案
摘要:最近在帮同事调试一个类似资源管理器的wpf界面,左边TreeView去遍历大目录时UI卡死,刚开始我以为是在UI线程中调用系统API遍历目录的原因,就改为后台遍历,但是没有效果。根本原因:TreeView的Style中Template对于ScrollViewer的CanContentScroll设置为FALSE, 导致VirtualizingStackPanel的虚拟化失效解决办法:设置Scrol...
阅读全文
摘要:背景:最近遇到一个DataGrid的性能问题:里面大概有4000个数据, 绑定的ItemSource的类也只有一层数据,即简单的List(里面每个是Protocol Buffer自动产生的一个类,10个字段,没子类或者子列表),这么简单的数据源在一台测试机上全选4000条数据然后一直点击滚动条滚动会导致UI卡死, 整个界面无法工作。其中:1.所有的虚拟化相关的都已经设置2.去掉了自定义的style...
阅读全文
摘要:ToolTip或者PopUp这个控件在做界面时会经常用到。如何对ToolTip进行自定义呢?1.首先自定义tooltip的controlTemplate,完全清除系统默认效果, 如下: 2.自定义tooltip的contentTemplate, 这样可以专注于tooltip的界面呈现, 而不关心tooltip要显示的字符串, 如下: 3.应用Tooltip的style,如下: 4.以上s...
阅读全文
摘要:背景:最近遇到一个DataGrid的性能问题:里面大概有4000个数据, 绑定的ItemSource的类也只有一层数据,即简单的List(里面每个是Protocol Buffer自动产生的一个类,10个字段,没子类或者子列表),这么简单的数据源在一台测试机上全选4000条数据然后一直点击滚动条滚动会导致UI卡死, 整个界面无法工作。其中:1.所有的虚拟化相关的都已经设置2.去掉了自定义的style...
阅读全文