工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧

  以前一篇《工欲善其事,必先利其器。VS2013全攻略(安装,技巧,快捷键,插件)!》 看到不少朋友回复和支持,很是感谢,尤为是一些拍砖的喷油,感谢大家的批评,受益良多。html

  我第一份工做即是WPF的开发,一直到如今都很是喜欢这门技术,从懵懵懂懂到如今有一些WPF开发资历,也算是经历了一段坎坷的过程。个人朋友看到我写了VS2013的全攻略,他就推荐我写一个WPF篇,我想了下,的确不少朋友初接触WPF的时候不免会以为WPF开发十分困难,归其缘由,不少时候是出错后并不知道如何调试毫无头绪。下面我便顺着个人开发历程来分享一些有利于WPF开发的小工具们。程序员

  [小九的学堂,致力于以平凡的语言描述不平凡的技术。如要转载,请注明来源:小九的学堂cnblogs.com/xfuture]sql

 

  目录:express

  入门学习阶段:KAXAML浏览器

  UI布局阶段:Snoop, SilverlightSpyapp

  改写样式,写控件库阶段:Reflactor, Blend编辑器

  测试性能阶段:Wpf  performance Suite, Red Gate ANTS Performance Profiler 8ide

  

  


  写正篇以前先说Visual Studio. VS我就不介绍了,无论风雨如何,VS永远是.NET 开发的第一选择。工具

  入门学习阶段:KAXAMLoop


  

  初次接触WPF的时候必定会想尝试各类控件的属性,可以改动的同时实时的看出效果。或者有些朋友机器不够给力或者说不想每次学习WPF都要打开VS,那KXAML必定适合您。

  下载连接KAXAML官网 ,源码 这个是彻底free的,源代码也公开了,在此我也很是感谢做者Robby Ingebretsen,很是伟大的一款软件。

  介绍: KaXaml是一个轻量级的XAML编辑器,但是实如今编辑的同时展示UI效果。界面以下:

  

   左边是功能栏,右边分为上下两侧,上面是UI,下面则是代码。实时显示

  当你须要一些示例代码或者当你须要改写控件的时候,你能够点击Snippets。其中包含不少做者的善意(代码段):

  

  左侧的功能还包括find, color picker(取色值,颇有用), snapshot, xaml scrubber(XAML格式的配置), settings等。

  

  

  UI布局阶段:Snoop, SilverlightSpy

  


  当渡过了学习阶段后,开始作一些实际的项目了。逐渐接触到WPF的逻辑树和视觉树。这个时候很须要当项目运行时进行查看视觉树的结构评测本身xaml是否正确或者进行运行时改变观察效果。这个时候snoop和siverlightspy就很须要了。Snoop for WPF, silverlightSpy for silverlight。

  下载连接: Snoop源码, SilverlightSpy Snoop是开源的,彻底免费。silverlightspy是须要purchase的。

  介绍

  Snoop是一个WPF运行时对Visual UI调试的一个工具, 能够查看其视觉树以及对其进行更改。

  运行后会出现工做条:下拉框中显示的运行的WPF应用程序,点击刷新得到当前WPF应用程序列表,选择相应程序后点击望远镜图标便可进行监测。也能够点击望远镜后的瞄准图标拖动到相应程序上来完成此操做,打开后

  

   如图,Snoop检测了左边的WPF应用程序,snoop左侧是可视化树列表,选中元素,能够进行缩略浏览,右边是其属性。选中的元素会有红框出现。也可使用Ctrl+Shift来进行选中。下面一张图是对左侧各类数据的说明:

  

  你能够在运行时对snoop监视到的元素属性进行修改来实时查看效果:

  

  

  

  SilverlightSpy 则是相似snoop的工具,用来对显示Silverlight 内容的网页进行详细的监测。这个工具使用它本身内嵌的浏览器,能够帮助用户浏览任何网站,并监测Silverlight:

  

  

  在网址栏输入你本身开发的SL的页面。便可进行检测。使用方法相似SNOOP,用Ctrl+shift来进行选择,能够进行实时改动:

  

  

  

  改写样式,写控件库阶段:Reflactor, Blend

  


  随着在项目中资历和技术成长,逐渐搭建UI的任务慢慢已经分给新来的同事们了,这个时候就开始了充满艰辛的写控件阶段。用户须要更好的用户体验,UX以本身的理解设计出想要的体验和交互,这个时候苦的就是开发了。“我天,这XX也能够?!”每次看到UX新设计出来的画面,不少开发喷油必定都有这样的感慨。可是为了更好的产品,咱们也只能努力去完成UX的要求。因此慢慢改写控件模板和样式,以及实现更多控件层次交互的需求甚至动画则成了个人任务,这个时候就须要blend和reflactor来帮助了。

  Blend for Visual Studio 2013 提供了丰富的以设计为中心的环境,以便于开发针对 Windows 应用商店、Windows Phone、WPF 和 Silverlight 的应用。

  而Reflactor反编译dll则是为了探索控件实现的内部机制以方便改写,好比当你须要更改一个datagrid来实现一个能够切换行的时候缓动的效果,或者更加变态的好比点击一个column产生一个能够自我定位的grid等。这个时候你就要先去探索datagrid内部的实现机制,继承并改写它内部的逻辑,而不只是样式和模板。因此WPF依然须要reflactor。

  下载Blend,VS2013安装时能够选择blend一块儿安装,Reflactor

  Blend打开solution后效果以下图:

  

  黑白色调,工具栏和视觉栏。是否是很类似与PS。对的!这就是一款饱含设计向的WPF工具。能够在其中对控件样式和动画进行可视的操做。

  只不过须要注意的事,它自动生成的代码是很是混乱的。推荐绘制动画或者改写样式时先使用blend来构造,在vs里再对xaml代码进行优化。

  

  Reflactor:反编译dll,拿到其内部实现机制逻辑代码。好比当我须要改写datagrid:

  

    这样就能够拿到其反编译的结果,获得其内部实现机制。即可以对具体的实现进行override来改写。

 

  测试性能阶段:Wpf  performance Suite, Red Gate ANTS Performance Profiler 8


     项目即将结束,这个时候就须要测试了。做为一个严谨的开发,咱们应该减轻QA MM们的压力,本身先把本身埋的大坑填了,这样才不会在最后时候各类加班修bug,悲惨世界啊。

  这里就介绍两款可以避免这种事情出现的软件:Wpf  performance Suite, Red Gate ANTS Performance Profiler 8

  Wpf  performance Suite 是一款WPF效能分析工具,可以让您分析应用程式的执行阶段行为,并判断可套用的效能最佳化类型。Red Gate ANTS Performance Profiler 8 是判断.net 在内存中的占用状况,测试内存泄漏和是否释放的工具, RED GATE也是一个颇有名的测试性能的厂家,reflactor其实就是该厂家出产,它还有其余相似sql,azure等测试的产品。

  下载:WPF PERFORMANCE SUITE, Red Gate ANTS Performance Profiler 8

  介绍:WPF PERFORMANCE SUITE 性能分析工具功能很是多 官网和博客园均有详细介绍,这边我就贴上连接,你们如能够点进去观看:官网博客园连接

     着重来介绍 Red Gate ANTS Performance Profiler 8:首先打开该软件,能够进行15天试用:

  

  

点击continue,会弹出主界面。能够选择来开始新的监视。

在相应PATH中选择本身要测试的application 点击 下方start profiling能够开始监视。也能够经过attach to process来进行监视

在其中会有不少元素进行监视和测试,好比class list,instance的数量等。从这些属性上能够看的出本身application所占据的内存和具体一些class所占据的内存和实例数量。

屡次点击take snap shot 能够把当前的记录下来 来进行比对,能够导出report。

这两款软件都是用处很是大的。假如你们须要的话,能够留言,假如必要的话我会尽可能写关于这两个软件详细的使用方法的博客的。

 

总之,但愿你们可以支持。我但愿可以分享给全部的朋友心得和技巧,弯路一我的走就够了。

很是喜好博客园的环境,分享才是咱们程序员的武器啊!

相关文章
相关标签/搜索