写点什么

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

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

关注

评论

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

Chrome实现自动化测试:录制回放网页动作

和牛

测试

Python3详细的数组基础操作-入门必备[列表的操作]

迷彩

数组 Python基础 列表 7月月更

Docker入门(一)

神农写代码

老树开花——用ImageProcessor快速搭一个图床应用

为自己带盐

dotnet 7月月更

Python|制作词云,改变词云字体颜色

AXYZdong

Python 7月月更

ArkUI路由跳转概览

坚果

HarmonyOS OpenHarmony 7月月更

从全球价值链视角看,京东云数智供应链对未来经济有何影响?

脑极体

我用开天平台做了一个城市防疫政策查询系统,你不试试?

华为云开发者联盟

开发 华为云 开天aPaaS 开天 城市防疫政策

GPU资源池的虚拟化路径

Finovy Cloud

GPU服务器 显卡、gpu

日志黑名单,真的能帮你省钱!

观测云

Python图像处理丨图像腐蚀与图像膨胀

华为云开发者联盟

Python 软件 开发 图像处理

拔掉电源会怎样?GaussDB(for Redis)双活让你有备无患

华为云开发者联盟

数据库 后端

StarRocks 成都见!企业如何打造极速统一的数据分析新范式,助力业务全方位升级

StarRocks

数据库 大数据 数据分析 国产数据库

Java 集合

Damon

7月月更

本周四晚19:00知识赋能第3期直播丨OpenHarmony智能家居项目之控制面板功能实现

OpenHarmony开发者

Open Harmony

2022冲刺金九银十震撼发布!Java八股文+大厂面试真题,干货满满!

了不起的程序猿

Java java程序员 java面试

ECCV2022 | 腾讯优图29篇论文入选,含人脸安全、图像分割、目标检测等多个研究方向

科技热闻

转行前端是自学好还是培训班好

小谷哥

2022-07微软漏洞通告

火绒安全

microsoft 安全 漏洞

密码密钥硬编码检查

华为云开发者联盟

安全 后端 密钥

Kubernetes入坑篇

青柚1943

Kubernetes DevOps minikube

AIOps落地五大原则(三):架构路线

BizSeer必示科技

人工智能 AIOPS

【刷题记录】9. 回文数

WangNing

7月月更

泰凌微电子B91通用开发板合入OpenHarmony社区主干

科技汇

不要小看WebSocket!长连接、有状态、双向、全双工都是王炸技能

wljslmz

HTTP websocket 7月月更

云上解锁Web3.0 阿里云XR平台助力彼真科技呈现沉浸式演唱会

阿里云弹性计算

XR 视觉计算 虚拟演唱会

在线多行文本批量正则替换添加后缀工具

入门小站

工具

在线SQL转XML工具

入门小站

工具

融云 x 天聊,用声音打造「无压力社交」栖息地

融云 RongCloud

用 AnimatedBuilder 分离组件和动画,实现动效复用

岛上码农

flutter ios 安卓 移动端开发 7月月更

容错、熔断的使用与扩展

神农写代码

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