No. 8948 实现Windows 7 样式 Aero TreeView 控件(一):差异分析
最近无事在家开始认真研究WPF/Silverlight技术,前一段看QQ发布概念版,甚是惊艳,Windows 7的Aero风格就已经很漂亮了,但是WPF做出来的控件和Windows 7原生效果有所差异,手头真好有一个项目,边学边做,写几篇博文抛砖引玉,希望有朋友可以讨论赐教。
做项目发现需要使用TreeView控件,默认样式真是太难看了,与默认Windwos资源管理器样式真差很多,在做的时候也发现一些问题,首先在这里看到木-叶博友写的AeroTreeView文章,虽然是转向箭头和选中效果上有些Aero的影子,但是差异还是蛮大的,从这篇开始,详细分析一下WPFTreeView与Windows 7效果差异和实现方法!
上面的图展示了Windows 7的Aero TreeView的效果的几个特点,选中矩形右边没有边框,不知道为何!可能和Win32实现算法有关系。Aero效果的选中是满行选中,在WinForm里面这应该是一个选项可以选择的,但是在WPF中是没有的,下面是WPF样式TreeView的实现效果,而这个选中区域效果则是遇到的第一个难题。
其实从个人感觉上来讲,WPF的右侧的实现效果还是挺让人的满意的,但是既然为了是完全实现这样的效果,就应该完全按照Windows 7的效果来,还有就是箭头的问题,多亏看了木-叶兄的博文,才知道原来WPF的三角形和系统的有差距,惭愧…偶是粗人!说了这些许多,就当开场,下面开始效果实现!