博客
关于我
[WPF]总结一些我在开发WPF时常用的工具
阅读量:433 次
发布时间:2019-03-06

本文共 1830 字,大约阅读时间需要 6 分钟。

WPF 开发工具全解析:助力高效编码

作为一名从一万二千年前就开始写XAML的开发者,我亲历了无数工具的迭代,见证了它们如何帮助我更高效地进行WPF开发。以下是一些我常用的工具,希望能为WPF开发者提供实用的参考。

1. Visual Studio

Visual Studio 是每个开发者的必备工具,尤其是对于WPF开发者而言,它是完美的集成环境。尽管WPF在过去几年中没有大规模改进,但Visual Studio依然是WPF开发者的首选,因为它提供了丰富的功能和支持。以下是Visual Studio的一些实用功能:

  • 应用程序时间线探查器:帮助开发者分析XAML应用程序的性能问题,尤其是在UI框架布局、网络和磁盘请求等方面的性能瓶颈。
  • XAML热重载:允许开发者在应用程序运行时动态修改XAML代码,特别是在用户界面设计和复杂场景模拟方面非常实用。
  • 实时可视化树和属性资源管理器:实时查看正在运行的XAML代码的UI元素树和属性,帮助开发者更好地理解和调试代码。

此外,Visual Studio 2013 的支持对于回顾Silverlight Toolkit的代码非常有帮助,尽管现在已经过时,但它依然是不可或缺的开发环境。

2. Blend for Visual Studio

Blend 是专注于XAML设计的工具,虽然其独立版本的功能不及Visual Studio强大,但它在特定场景下依然不可或缺。Blend for Visual Studio 已经成为Visual Studio的一部分,通过插件形式提供更强大的XAML设计能力。以下是Blend的优势:

  • 设计VisualState和动画:对于WPF应用程序的交互体验至关重要。
  • 将文字和形状转换为路径:生成复杂的XAML形状。
  • 获取控件的ControlTemplate:了解和修改控件模板。

安装Visual Studio时,请确保选择安装Blend for Visual Studio选项,尤其是在需要反编译Blend SDK时。

3. ILSpy

ILSpy 是一款优秀的反编译工具,尤其适合处理BAML文件。对于那些源代码不可用的第三方控件库(如System.Windows.Controls.Ribbon.dll),ILSpy是唯一的选择。它比dnSpy和JustDecompile更高效,尤其是在反编译复杂库时表现优异。

4. Snoop

Snoop 是一个开源的WPF UI探索工具,功能强大且免费。它允许开发者浏览正在运行的WPF程序的可视树,修改属性,设置断点等。尽管Visual Studio现在也有类似功能,但Snoop依然是我最推荐的WPF工具之一。它还支持查看Triggers,帮助开发者理解控件行为。

5. DebugView

DebugView 是一个古老但依然实用的调试工具。它能够查看应用程序或驱动程序的输出日志,无论是本地机器还是远程机器。这对于调试复杂的应用程序非常有帮助,特别是在处理高级性能问题时。

6. ReSharper

ReSharper 是一款功能强大的C#开发工具,也对XAML提供了丰富的支持。它能够在XAML代码中提供智能感知提示,帮助开发者快速定位和修复错误。ReSharper 的XAML支持包括代码重构、导航和查找功能,极大地提高了开发效率。

7. Visual UI Automation Verify

Visual UI Automation Verify 是微软提供的一个自动化测试工具,属于Windows SDK的一部分。它能够帮助开发者测试UI自动化功能,尤其是在使用Microsoft UI Automation时非常实用。尽管它可能有些过时,但它依然是测试WPF UI组件的快速方式。

8. ResXManager

ResXManager 是一个Visual Studio扩展,用于管理resx资源文件。对于需要管理大量资源文件的项目来说,它是一个必不可少的工具。它提供了统一的资源管理界面,简化了资源文件的添加、删除和管理过程。

结语

这些工具为我提供了开发WPF应用程序的强大支持。虽然我也使用了一些在线工具(如VB.NET到C#的代码转换器、SVG到XAML转换器等),但它们通常是在需要时网上搜索和使用的。如果你想了解更多关于.NET开发的工具,可以参考相关文章。希望这些工具能为你的WPF开发之路提供帮助。

转载地址:http://otyuz.baihongyu.com/

你可能感兴趣的文章
nginx配置域名和ip同时访问、开放多端口
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置如何一键生成
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
Nginx配置负载均衡到后台网关集群
查看>>
ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
查看>>
NHibernate学习[1]
查看>>
NHibernate异常:No persister for的解决办法
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>