写点什么

Blend 与 Visual Studio 2015 中的 WPF 工具

  • 2015-04-28
  • 本文字数:1432 字

    阅读完需:约 5 分钟

长期以来人们一直存有一个疑问,是否应该将 Blend 的功能整合到 Visual Studio 中去?目前的看法认为还是让两个工具保持独立的方式更好,让其中之一专注于 UI 设计任务,而另一个则专注于应用程序的开发。不过这并不意味着不能对这两者加以改善。

Blend 2015

首先,新版 Blend 将引入某些 Visual Studio 中的特性,例如解决方案管理器和代码编辑器。这些 VS 的特性已经经过了时间的检验,因此没有理由在 Blend 中另行开发一套独有的方案。

在引入了 Visual Studio 的代码编辑器之后,Blend 也能够使用诸如查看定义(Peek Definition)弹出框等特性了。在 XAML 中,可以通过这一特性查找定义在后台代码文件中的事件处理器。

与 Visual Studio 类似,Blend 也能够选择一种“dark 主题”,以此减少 IDE 本身带来的视觉反差。目前的计划是让这一主题比 Visual Studio 中的 dark 主题显得更暗,以此强制营造出一种无视觉反差、以设计为中心的工作氛围。

现如今,如果你在 Visual Studio 中进行了某个改动,Blend 将会显示一条提示信息,询问你是否重新加载受影响的文件。在 Blend 2015 中,则可以选择永久性地忽略这一提示。这一点本身看起来只是个很小的变化,但这种频繁的扰乱会对使用者的精神与生产力造成严重的影响。

可视树的调试

Blend 与 Visual Studio 都将支持对可视树进行调试,而目前只能通过第三方产品,例如 Snoop XAML Spy 实现这一功能。在应用程序运行时,你将通过某个树型视图看到当前活动窗口上的所有元素。这是一个自动更新的视图,你无需暂停应用程序或点击某个刷新按钮,就能够看到当前的可视树。

通过某个选择工具,你能够指出应用程序中的某个元素,并在 IDE 中自动选中它。在通过树型图或可视化选择工具选中某个元素之后,你就能够编辑该元素的属性,就像你在查看窗口中编辑某个对象的值一样。

作为.NET 4.6 中特性的一部分,现在使用者能够在 XAML 中追踪行号了。在树型图中选中某个元素之后,可以直接显示出定义了该元素的原始文件,这让你能够轻易地找到需要进行修改的代码。

Visual Studio 编辑体验

正如其名称所暗示的一样,Visual Studio 此前主要专注于可视化 UI 的设计。在 WinForms 和 Web Forms 的时代,这种想法可以理解,因为这两种设计都强调了一种拖放式风格的体验。但在使用 XAML 时,开发者倾向于仅仅使用原始的 XAML 代码进行工作,偶尔当他们需要使用可视化设计的时候,他们会切换到 Blend。

Visual Studio 2015 能够实现这种工作流,它允许开发者完全关闭 WPF/XAML 相关的可视化编辑组件。在设计器关闭之后,设计 /XAML 标签也会消失、工具箱中不会出现控件、设计时面板也不会被加载。开发者将面对一种专注于纯代码的体验,这正是他们所期望的。

不过,这是一个可选项,开发者如果喜欢使用 Visual Studio 中的可视化设计器,他仍然可以选择继续这种体验。

XAML 时间线工具

时间线工具是一种资源监视器,它能够告诉你应用程序的运行过程中发生了哪些事。这个报告中的一个关键部分是 UI 线程的使用情况,它能够告诉你 UI 线程何时被使用,并且在使用时都做了哪些操作:解析、布局、渲染、I/O、应用程序代码等等。它还能够显示 UI 及混合线程的帧速率,并且还集成了 CPU 的性能诊断能力,因此更易于找到应用的瓶颈。

当你发现你所寻找的某段代码时,一种常见的作法是在这段代码之前与之后设置一对断点。Visual Studio 如今能够意识到这种模式,并自动显示运行至当前断点及前一个断点之间所需的时间。

查看英文原文: WPF Tooling in Blend and Visual Studio 2015

2015-04-28 07:184366
用户头像

发布了 428 篇内容, 共 196.4 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

AI技术变革下的职场生存指南

老张

人工智能 职场成长

什么是区块链dapp开发?它能做什么?

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

【HarmonyOS Next】鸿蒙应用弹框和提示气泡详解(二)之浮层(OverlayManager),半模态页面(bindSheet),全模态页面(bindContentCover)详解

GeorgeGcs

模态 OverlayManager bindContentCover bindSheet 浮层

签约快讯|天润融通签约石头科技

天润融通

用户标签与画像,精准运营更进一步 - ClkLog 埋点分析系统

ClkLog

开源 埋点 sdk 行为分析 画像

KubeCon Europe 2025 | 一图速览华为云精彩议程

华为云原生团队

云计算 容器 云原生

揭秘淘宝拍立淘API:开启智能商品搜索新时代

Noah

25年什么样的 Agent 会脱颖而出:简单胜于复杂

极客天地

天润融通助力扬子空调AI升级客服系统,独立解决率飙升至45%

天润融通

AI 网关需要具备的 10 大基本能力

阿里巴巴云原生

阿里云 云原生 AI网关

Rust + TDengine:打造高性能时序数据处理利器

TDengine

tdengine 数据库·

社会福利机构一定要买堡垒机吗?取决于什么因素?

行云管家

等保 堡垒机 社会福利

直播分享|TinyPro:一行命令,搭建包含前后端的后台管理系统

OpenTiny社区

开源 前端 OpenTiny TinyPro 中后台系统

交易所开发的实践与展望

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

标星 62.9 万,8 个 yyds 的 GitHub 开源项目 !

JEECG低代码

GitHub 开源 开源项目

Google 发布 Gemini 2.5 Pro 模型:思考+多模态;Vibe Coder :通过语音对话实现「氛围编程」丨日报

声网

三级等保测评的云

黑龙江陆陆信息测评部

Go 语言常见错误——并发编程

FunTester

万字详解主权跨链代币标准「ERC-7281」,如何让跨链代币具有可互换性?

TechubNews

HPE Aruba Networking助力电信运营商和企业加速创新,拥抱AI市场变革新机遇

科技热闻

医疗场景实战:百条数据 RFT 微调盘古大模型,精度大幅提升

华为云开发者联盟

人工智能 LLM 华为云盘古大模型

智能感知的未来:传感器融合与数字样机技术

DevOps和数字孪生

【大模型加速器2.0】合合信息文档图表解析全方位深度测评

申公豹

ORC技术

从 Timer 到 Timer-XL,再登时序大模型能力高峰

Apache IoTDB

【经验】几种数据库优化技巧

不在线第一只蜗牛

数据库

25年深圳企业办理等保合规流程指南

行云管家

网络安全 信息安全 等保

MacBook 跑通 : Deep Research

Lily

网站做IPv6改造前需要哪些准备工作?

国科云

VMware Tools 12.5.1 下载 - 客户机操作系统无缝交互必备组件

sysin

vmware

从 MySQL 到时序数据库 TDengine:Zendure 如何实现高效储能数据管理?

TDengine

tdengine 时序数据库 数据库·

告别分库分表,时序数据库 TDengine 解锁燃气监控新可能

TDengine

tdengine 时序数据库

Blend与Visual Studio 2015中的WPF工具_语言 & 开发_Jonathan Allen_InfoQ精选文章