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

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

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

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

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

  目录:

  入门学习阶段:KAXAML

  UI布局阶段:Snoop,
SilverlightSpy

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

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

  

  


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

  入门学习阶段:KAXAML


  

  初次接触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。

这两款软件都是用处非常大的。假如大家需要的话,可以留言,假如必要的话我会尽量写关于这两个软件详细的使用方法的博客的。

总之,希望大家能够支持。我希望能够分享给所有的朋友心得和技巧,弯路一个人走就够了。

非常喜爱博客园的环境,分享才是我们程序员的武器啊!

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

时间: 2024-08-28 10:59:56

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

工欲善其事必先利其器之windows篇

Windows是我们最常用的系统,下面就让我们重新认识一下Windows有哪些可以让我们提高工作效率的快捷键以及部分技巧,,以及在外行看来可以看起来逼格高的技巧! 1.Windows最实用,最常用的快捷键 常规基础快捷键 Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+S 保存 Ctrl+A 全选 Ctrl+X 剪切 Ctrl+N 新建 Ctrl+O 打开 Ctrl+Z 撤销 Ctrl+W 关闭程序 Ctrl+Tab    窗口切换 Shift+Delete彻底删除 win + D 最小化所有

工欲善其事必先利其器之浏览器篇

浏览器是大家生活中必不可少的工具之一,掌握好的技巧去使用浏览器可以使我们效率更高,而再浏览器中吾犹爱firefox和chrome,现在就firefox来聊一聊其使用技巧: 1.快捷键 快捷键在菜单栏中的帮助里面有一个键盘快捷键,进入查看即可,不过在此还是把它给贴出来!! 1.  首先打开火狐游览器,点击帮助图标,如图所示 2.  在弹出的窗口里选择[键盘快捷键] 3.  所有的火狐游览器快捷键都在这里了. ---------------------------------------------

单片机开发——01工欲善其事必先利其器(Keil软件安装破解)

本文是博主<单片机开发>博客第一篇文章,主要讲述51单片机编程软件Keil uVision4的安装及破解过程. 1. Keil uVision4安装包文件 PATH:链接:https://pan.baidu.com/s/1IEUUhND_0F_6pXVbhlJamQ 密码:dqrd 安装包内容:安装文件.破解机.汉化包(不建议汉化). 2. Keil uVision4软件安装 双击安装包,一直"NEXT"到最后,选择Finish,到这里软件的安装过程完成. 3. Keil

【iOS与EV3混合机器人编程系列之二】工欲善其事,必先利其器(准备篇)

在上一篇文章中,我们论述了iOS与EV3结合后机器人开发的无限可能, 那么,大家要不要一起来Hacking一把呢? 为了能够完整地完成我接下来我讲的项目,我们需要做以下准备: 1.一台Mac运行MAC OS X 10.9.3以上的操作系统. 2.Xcode6.这是iOS在Mac上的开发工具.我们将使用Xcode来进行所有的项目程序的编写 3.一两个iOS设备,iPhone或iPad都行.实际上大家最好有两个iOS设备,因为最后的项目中iPhone将和EV3机器人放在一起,而用另一个iOS设备来查

工欲善其事必先利其器---Android开发环境搭建

很早之前在developer.android.com/没被墙的时候,下载过集成好的adt,无需配置即可进行开发,也做出了简单的hello world,然后好久没有动过Android.最近想重新学习下Android,却纠结于要用eclipse还是android studio.as作为谷歌自己的主推产品,从功能完善性和后续的发展性来说肯定要比eclipse要好,但是8g的内存推荐配置,把好多小白挡之门外,装上后我的小x220内存马上逼近100%,吓得我赶紧卸载了,还是老老实实的用eclipse吧,毕

转:【工欲善其事必先利其器】—Entity Framework实例详解

开始本篇文章之前,先说一下Entity Framework 6 Alpha1在NuGet中已可用,原文链接http://blogs.msdn.com/b/adonet/archive/2012/10/30/ef6-alpha-1-available-on-nuget.aspx 俗话说:“工欲善其事必先利其器”,在深入讲解Entity Framework之前,先准备一下开发工具以及前期的配置. 一.开发工具 开发工具基本略过,这里说一下,我使用的是Visual Studio 2012,Entity

工欲善其事必先利其器—成绩登统系统

    工欲善其事必先利其器.谓工匠想要使他的工作做好,一定要先让工具锋利.比喻要做好一件事,准备工作非常重要.语出孔子·<论语·卫灵公>:子贡问为仁.子曰:"工欲善其事,必先利其器.居是邦也,事其大夫之贤者,友其士之仁者." 也就是我们通常所说的磨刀不误砍柴工.那么体现在系统或者软件开发上磨刀就是前期的准备工作,也就是各个文档编写以及原型的画出与完善. 1.      第一阶段:需求调研     毛主席说过,"没有调查就没有发言权":一切的需求来自于实

工欲善其事必先利其器--------搭建Android平台

工欲善其事必先利其器--------搭建Android平台 1.1            安装JDK 在Eclipse的开发过程中需要JDK或JRE的支持,否则会报错. (1)     下载JDK(建议去JDK官网下载)[Java SE Downloads 中的Java platform(JDK)](最好不要安装在带空格的目录下) 图1-1 JDK下载 (2)     配置环境变量(此步骤很重要,过程可参照网上步骤) JAVA_HOME:  C:\Program Files\Java\jdk1.

你苦苦等待的轨迹纠偏地图定制开发秘籍到货啦,请查收!

你苦苦等待的轨迹纠偏地图定制开发秘籍到货啦,请查收! 这一次不用苦苦寻找,北京秀友科技高级研发工程师开课啦!一系列的<我秀中国大讲堂>,将带给你完整的开发大神带路指南.. 第一期要讲的就是"为你解读轨迹纠偏之鬼斧神工",我秀中国会以视频直播的方式为大家讲解,直播时间是2017年5月11日(星期四)晚上20:00,也就是明天晚上,快叫上小伙伴一起来围观吧! 除了丰富多汁的地图开发知识福利,我秀中国还准备了价值288元的大礼包等你拿!参与视频直播并与讲师积极互动,就有机会被小秀