【转】VS工具:实时可视化树

VisuaStudio号称全宇宙最强大的IDE。在VS2015版本中,微软又给广大开发者带来了一个强大的工具:实时可视化树(Live Visual Tree,以下简称可视树)。其实树可视化工具并不是新鲜的东西,在WPF的时候就有了,只是这次微软集成到是VS2015里,而且功能更强大。使用此工具可以帮助开发者在调试应用时实时查看UI元素的布局情况,不过目前还只支持WPF 和 Windows Store 的应用。不仅如此,还可以偷看别人家的应用是怎么布局的呢?甚至改变别人的UI,比如这样:

注意一下,上面的"微软大法好"在商店中显示的是“源自Microsoft”,然后我实时可视化树把它改了,所以我之前微博才说“我发誓没用任何修图工具”,因为我用的是它。怎么样?是不是感觉有点黑科技的样子?想知道怎么玩,听我慢慢道来。

 

先说说如何打开实时可视化树

在任意工程项目下,F5运行项目。然后通过菜单中的“调试”->“窗口”->“实时可视化树”,然后你就能看到传说中的实时可视化树了。

我的XAML是这样的:

 

 
  1. <Grid>

  2. <StackPanel x:Name="stackPanel">

  3. <Rectangle Fill="Blue" Width="250" Height="250"/>

  4. <Rectangle Fill="Yellow" Width="250" Height="250"/>

  5. </StackPanel>

  6. </Grid>


是不是发现可视化树多了很多不知道什么鬼的东西,其实第一次接触可视化树我也不知道是什么。

 

其实可视化树上的才是真正的UI界面,我们看到的只是它的表层。在这里就不做太多的理论知识讲解了

在正式讲解可视树面板的使用前,我先吐槽下VS。虽然可视树面板可以跟正在调试中的应用做交互,但是点击了可视树面板后,我的应用就最小化了,就不能帮我把应用置于顶层吗?我只能把VS窗口设置小点跟应用并排显示

 

好了,正文开始

1、如果你的控件有Name会一并显示出来,如上面图中的stackPanel

2、每个元素的右边括号里的数字表示该元素内所有子元素数量

3、可视树面板上有6个操作按钮和一个输入框

 

4、输入框用于搜索你要的UI元素,并高亮显示,这个在你UI布局时分复杂时候很有用

 

5、按钮1:启用选择

启用选择后,当鼠标在目标应用的界面上移动时,光标所指向的元素会被红色虚线框标记出来。同时鼠标的事件(比如PointerEntered)也不会触发。此时点击界面上的元素,在可视化面板就会定位到对应的元素

 

6、按钮2:显示布局修饰工具

开启该功能后,在可视化面板上点击的元素,VS会在应用的界面元素上用一个半透明层的东西覆盖,然后在元素四周绘制辅助线指示出布局

 

7、按钮3:预览选择

很抱歉,我还不知道它是干啥的....希望有人给我指出

 

8、按钮4:全部展开

点击后,可视化面板就是像开始的那张图那样,将所有元素的节点展开,层次分明

 

9、按钮5:全部折叠

与全部展开相对应,将所有元素的节点全部折叠

 

10、按钮6:显示属性

这里的属性不是运行前的属性,而是运行时属性。点击后开启的是“实时属性资源管理器”面板,这个面板也可以通过菜单中的“调试”->“窗口”->“实时属性资源管理器”打开

 

11、元素的右键菜单

在可视树面板元素上单击右键,出现右键菜单

●显示属性:功能同按钮6

●查看源:定位到对应的XAML代码

●展开子项:展开当前元素的子项

 

12、使用实时属性资源管理器修改“运行时”属性

在调试应用时,有时候我们希望某些元素的属性发生改变然后看看效果,传统的做法是停止调试,然后修改代码,再调试。通过实时属性资源管理器面板,可以在调试应用时动态的修改元素属性,可以立即反应的应用UI界面上。如果效果满意,就可以停止调试,然后修改代码了。怎么样,是不是很方便。

多数的元素属性都是可以动态修改的,包括Width、Height、Text、Visibility等

“计算的值”可以帮助查看元素的实际渲染结果

 

到此为此,我所知道的关于实时可视化树的知识讲完了。

 

咦,说好的“黑科技”呢?你说的是这个吗?

 

别急,看了我上面的讲解,自己有没有思路了呢?不拐弯抹角了,不然要被你打....

实例:统一全平台 闷声发大财

一、打开你要调戏的应用,比如应用商店

二、以管理员身份打开VS2015

三、菜单中选择“调试”->“附加到进程”

四、在弹出的窗口中选择对应的进程。注意有的应用进程有多个,同时标题也不一定给出,比如应用商店的进程我这里显示的是两个(不知道读者的怎样)。如果没找到就刷新试试。选择后点击“附加”

 

五、查看实时可视化树面板。然后要怎么调戏你随意~~

 

什么?就这么简单,毛线的黑科技。呵呵,本来就没有黑科技,我是好人,好人的讲解到此完毕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】WPF 入门《常用控件》

1.GroupBox 注意: GroupBox仍然需要布局容器来放置元素。如: StackPanel面板 1 2 3 4 5 6 7 <GroupBox Header"select number?"> <StackPanel> <RadioButton>one</RadioButton> <RadioButton>two</…

【转】wpf从我炫系列1----布局控件的使用(上)

今天我来给大家讲解在学习WPF过程中使用布局控件的一些心得&#xff0c;主要给大家介绍一下一个控件的用法。希望对大家学习Wpf有所帮助. 1. StackPanel栈面板 2. WrapPanel环绕面板 3. DockPanel停靠面板 4. Grid网格 5. UniformGrid均布网…

【开源项目】EasyCmd命令图形化软件

EasyCmd 项目地址&#xff1a;https://gitee.com/showmework/EasyCmd 最新版本&#xff1a;v0.2预览版 介绍 命令行图形化。 让命令行更易于使用&#xff0c;从命令行复杂的参数及语法中解放出来。 设计思想 软件设计思想并不是构建用户界面&#xff0c;现代操作系统已经…

php在线读取pdf文件大小_PDF转WORD在线转换器哪家强?

无论是工作还是日常生活中&#xff0c;经常需要将pdf转换成word文档进行编辑&#xff0c;我想大部分人一定是和我一样&#xff0c;首先会去找度娘帮忙&#xff0c;百度一下“pdf转word”出现了很多在线转换器&#xff0c;比如大家常用的讯捷、smallpdf等&#xff0c;然后立马进…

【转】wpf从我炫系列2----布局控件的使用(下)

4. GRID控件 Grid控件可以是说是wpf中功能最强大和使用最多的控件。它有点类似于HMTL网页布局中的表格&#xff0c;可以自定义行列显示&#xff0c;并可以合并某些行和列. 使用<Grid.RowDefinitions>可以定义GRID中的行数&#xff0c; 使用<Grid.ColumnDefi…

【转】WPF从我炫系列3---内容控件的用法

今天我来给大家讲解WPF中内容控件的用法&#xff0c;在WPF中的内容控件&#xff0c;通俗的讲&#xff0c;是指具有Content属性的控件&#xff0c;在content属性里面可以嵌套放置任意其他类型的控件&#xff0c;但是Content只能接受单个元素&#xff0c;可以通过布局控件来组合放…

【转】WPF从我炫系列4---装饰控件的用法

在这一节的讲解中&#xff0c;我将为大家介绍WPF装饰控件的用法&#xff0c;主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollViewer滚动条控件 大家知道在WPF中的一些布局控件中是不带滚动条的&#xff0c;如果里面…

windeployqt.exe的使用与避坑(windows平台)

1. 介绍 windeployqt.exe是Qt自带的工具&#xff0c;用于创建应用程序发布包。 简单来说&#xff0c;这个工具可以自动地将某程序依赖的库、资源拷贝到其所在目录&#xff0c;防止程序在其他电脑上运行报找不到库的错误。 这里贴上官方文档&#xff1a;https://doc.qt.io/qt-5…

【转】WPF从我炫系统5---基本控件的用法

今天我来给大家讲解WPF中一些基本控件的用法&#xff0c;所谓基本控件&#xff0c;就是我们最常用用到的一些控件&#xff0c;通过这一节的讲解&#xff0c;大家会对WPF中的控件的用法有一个更深入的了解。 1. 基本控件 LABEL控件 Label控件是我们最熟悉的控件&#x…

【转】在WPF中自定义控件

周银辉的开发博客(WPF) 在WPF中自定义控件(1) 一, 不一定需要自定义控件 在使用WPF以前,动辄使用自定义控件几乎成了惯性思维,比如需要一个带图片的按钮,但在WPF中此类任务却不需要如此大费周章,因为控件可以嵌套使用以及可以为控件外观打造一套新的样式就可以了.是否需要我们…

Windows上快速在指定目录打开cmd.exe命令行的方法

前言 命令行在项目开发中使用频率很高&#xff0c;在指定目录中打开命令行也是很常见的需求&#xff0c;本文将介绍几种快速在指定目录打开cmd.exe命令行的方法&#xff0c;提高效率。 普通方式 运行->输入cmd.exe&#xff0c;点击确定&#xff0c;打开cmd.exe。 在cmd.…

【转】WPF之路-常用布局控件一

WPF布局原则 不应显式设置大小 为了布局的稳定性&#xff0c;控件的大小应该可以自动适应容器。如下为新建一个窗体&#xff0c;默认包含一个Grid容器&#xff0c;该控件没有显式设置宽高&#xff0c;所以&#xff0c;在改变窗体大小的时候&#xff0c;该容器的大小也随着变化…

【转】github中origin和upstream的区别

Fork&#xff0c;本身并不是git工具中的一个命令&#xff0c;也不是对git的扩展&#xff0c;它是在GitHub上的概念&#xff0c;是另一种clone方式——在服务器端的clone。 而我们通常意义上的clone&#xff0c;是将远程repo 复制一份到本地。 当你从GitHub上 clone 一个 repo …

【转】WPF入门教程系列六——布局介绍与Canvas(一)

从这篇文章开始&#xff0c;我们将对WPF中的界面如何布局做一个较简单的介绍&#xff0c;大家都知道&#xff1a;UI是做好一个软件很重要的因素&#xff0c;如果没有一个漂亮的UI&#xff0c;功能做的再好也无法吸引用户使用&#xff0c;而且没有漂亮的界面&#xff0c;那么普通…

【OSG学习】学习方法

1. 环境准备 运行调试环境的准备参考我的另外一篇博客&#xff1a;【OSG学习】准备开发调试环境 运行调试环境准备比较麻烦&#xff0c;但是不复杂&#xff0c;需要耐心。但是可能很多人会被卡在这一步&#xff0c;后面我会专门提供直接可以使用的完整项目&#xff0c;方便大…

【转】Vue.js入门教程(二)在页面中引入vue的方式

第二章&#xff1a;安装和基础效果展示 页面中引入vue 因为我们的目标是在最短的时间之内学会vue的使用方法&#xff0c;所以我们不一定需要通过npm工程化进行安装&#xff0c;你直接用script在页面中引用也完全没有问题。 第一种引入方式&#xff0c;script直接引入&#xf…

【OSG】Examples

推荐内容 关于示例项目解析的内容推荐&#xff1a; OSG3.4内置Examples解析【目录】 下面是个人学习笔记。 1. Examples osgbillboard 这个项目很简单&#xff0c;就几个函数&#xff0c;而且很有意思。 osg::Billboard类是一个控制器&#xff0c;不管你怎么旋转漫游场景&a…

【转】页(page),用户控件(userControl),窗口(window)区别

欢迎加入BIM行业开发交流1群 群号:711844216 背景 大家在vs中新建wpf项目后&#xff0c;会发现在添加新建项时会出现下列三个选项 它们有什么区别呢&#xff1f; 区别&#xff1a; 页&#xff1a;通常用于网页窗口&#xff1a;通常一个桌面app只有一个主窗口用户控件&#…

OpenGL基本运行模型

OpenGL是一种三维技术规范。 我们知道三维渲染场景需要实时计算大量数据。 这里我根据自己的经验总结出一句话&#xff1a; 计算机中&#xff0c;对性能要求高的功能模块&#xff0c;其运行原理必然是简单易行的&#xff01; 有理由断言&#xff1a;OpenGL没那么难。 OpenGL工…

【转】浅谈TDD、BDD、ATDD、DDD的区别

四个开发模式意思: TDD&#xff1a;测试驱动开发&#xff08;Test-Driven Development&#xff09;BDD&#xff1a;行为驱动开发&#xff08;Behavior Driven Development&#xff09;ATDD&#xff1a;验收测试驱动开发&#xff08;Acceptance Test Driven Development&#x…