写点什么

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

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

关注

评论

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

iuap助力三花控股集团打造主数据管理平台

用友BIP

用友 用友iuap

云原生中间件 -- Redis Operator 篇

Daocloud 道客

redis 云原生 中间件 云原生中间件

3天掌握Flask开发项目系列博客之二,操作数据库

梦想橡皮擦

3月月更

《人民日报》刊文:天翼云持续创新为数据安全保驾护航

天翼云开发者社区

深入跨国互联网业务场景,看华为云数智融合元数据如何打破“数据墙”

华为云开发者联盟

大数据 数据仓库 华为云 元数据 数智融合

Web安全渗透测试基本流程

学神来啦

网络安全 Web 渗透测试 WEB安全 kali

在线JSON格式化美化

入门小站

工具

阿里IM技术分享(七):闲鱼IM的在线、离线聊天数据同步机制优化实践

JackJiang

即时通讯 IM im开发

作业五

Geek_f3e842

架构实战营

Docker Shim 被移除,K8s v1.24 升级该怎么办

Daocloud 道客

Docker Kubernetes CRI-Dockerd

基于 EventBridge 构建 SaaS 应用集成方案

阿里巴巴云原生

云原生 SaaS

推荐算法!基于隐语义模型的协同过滤推荐之商品相似度矩阵

编程江湖

大数据 算法

译文《Java并发编程之CAS》

潘大壮

乐观锁 并发编程 CAS 并发’ Java Concurrency

天翼云供应链API安全治理实践获“优秀治理实践奖”

天翼云开发者社区

flask POST请求,数据入库,文件上传,一文看懂,3天掌握Flask开发项目系列博客之三

梦想橡皮擦

3月月更

东数西算加快云网与数据融合天翼云架起云间高速

天翼云开发者社区

向工程腐化开炮|资源治理

阿里巴巴终端技术

Java android 资源管理

一种小程序弱网离线优化的思路

阿里巴巴终端技术

小程序 弱网 体验优化

这是我见过最详细的Nginx 内存池分析

Linux服务器开发

nginx 线程池 Linux服务器开发 Linux后台开发 内存池

做开发这么久了,还不会搭建服务器Maven私有仓库?这也太Low了吧

冰河

系统架构 程序开发 程序员进阶 编程基础 Maven仓库

由Figma封停大疆,看国产IDE如何应对与突围?

Baihai IDP

人工智能 ide AI 基础软件 国产化

每秒百万条信息查询天翼云助力江苏核酸检测信息查询

天翼云开发者社区

新一代对抗作战框架MITRE Engage V1版本正式发布

青藤云安全

网络安全 青藤 青藤云安全

详细解读PolarDB HTAP的功能特性和关键技术

阿里云数据库开源

数据库 阿里云 开源 postgre polarDB

技术平台&应用开发专题月 | 企业上云利器-YMS(Yon Middleware Service)

用友BIP

用友 用友iuap

龙蜥开发者说来了,来看看社区一周动态还有什么? | 3.07-3.11

OpenAnolis小助手

开源 开发者 龙蜥社区 一周动态

天翼云联手平凯星辰共建开源分布式数据库实验室

天翼云开发者社区

TypeScript 2.0开启空值的严格检查

华为云开发者联盟

typescript js 空指针 ts

坐标PCB公司,想做实时数仓、推生产线看板,和Tapdata Cloud的偶遇来得就是这么凑巧

tapdata

实时数据

技术平台&应用开发专题月 | 业务上云后的调试利器—云机一体

用友BIP

用友 用友iuap

拥抱国产云桌面,焱融科技与酷栈科技完成产品兼容认证

焱融科技

云计算 分布式 云原生 高性能 文件存储

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