写点什么

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:183867
用户头像

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

关注

评论

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

Hybris UI的Route(路由)实现

汪子熙

Java SAP WebClient UI Hybris

使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库

汪子熙

JavaScript SAP abap WebClient UI SAP UI5

Internationalization(i18n) support in SAP CRM,UI5 and Hybris

汪子熙

JavaScript CRM SAP abap SAP UI5

通过ABAP代码判断当前系统类型,BYD还是S4 OP还是S4 Cloud

汪子熙

SAP abap S/4HANA SAP Business ByDesign

膜拜!首次公布Java10W字面经,Github访问量破百万

Java 程序员 架构 面试

C/C++学习:C++并发与多线程

奔着腾讯去

c++ 并发 多线程并发 POSIX线程 C++11线程

SAP ABAP和Hybris的源代码生成工具

汪子熙

Java SAP abap Hybris commerce

宏碁亮相2021西洽会,以绿色智能“洽谈未来”

科技热闻

IP地址定位在网站上的几个代表性应用

郑州埃文科技

直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记

Java 程序员 架构 面试

戏说代理模式

编程三昧

随笔 设计模式 开发 代理模式

Linux网络编程-UDP和TCP协议详解

Linux服务器开发

TCP 网络编程 udp 网络协议栈 Linux服务器开发

如何查看SAP CRM WebUI,C4C和Hybris里的页面技术信息

汪子熙

CRM abap WebClient UI SAP UI5

还在用SELECT COUNT统计数据库表的行数?Out了

汪子熙

SAP abap hana

乾坤大挪移:SAP CRM WebClient UI 和 SAP Fiori UI 混搭并存

汪子熙

CRM SAP abap WebClient UI bsp

JavaScript and Ruby in ABAP

汪子熙

JavaScript SAP abap WebClient UI

你知道 Redis 可以实现延迟队列吗?

xcbeyond

队列 延迟队列 6月日更

Pulumi AWS 在进行预览更新的时候持续提示 Key 错误

HoneyMoose

ABAP下载的病毒扫描Virus Scan

汪子熙

下载 SAP abap 病毒扫描

Golang Profiling: 关于 pprof

hedzr

Go 语言 profiling

Hybris ECP里Customer对应的数据库表

汪子熙

JavaScript CRM SAP WebClient UI SAP UI5

help.hybris.com和help.sap.com网站的搜索实现

汪子熙

Java SAP abap Hybris

Golang Testing 概览 - 补充篇

hedzr

testing Go 语言 assertion

从天而降的AI“青云梯”,开发者们准备好了吗?

脑极体

微博评论高性能高可用计算架构设计

Lane

SAP Cloud for Customer(C4C)和微软Outlook的集成

汪子熙

微软 SAP abap SAP UI5 outlook

Redis - 复制

旺仔大菜包

redis

使用ABAP批量下载Markdown源文件里的图片到本地

汪子熙

markdown SAP abap download

Golang Testing 概览 - 深入篇

hedzr

testing Go 语言

区块链与物联网的强强联合将带来巨变

CECBC

Jerry和您聊聊Chrome开发者工具

汪子熙

chrome 大前端 SAP Chrome开发者工具

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