透视WPF 应用程序的利器
当我们看到一些设计新颖的网站时,可以借助浏览器自带的Inspector 工具或插件方便的浏览网站布局结构及逻辑。如果是WPF 应用程序能否看到控件的架构方式呢?本篇将介绍两款工具Snoop 和WPF Inspector 可用来窥探WPF 应用程序内部结构。
Snoop
打开Snoop 程序,它是以一个工具栏形式出现(如下图)。
接下来打开一个经典WPF 应用程序Expression Blend 4(下文简称:EB4),点击“刷新”按键即可看到Snoop 已经捕获到EB4。
点击“Snoop”(望远镜)按键,进入Snoop 捕获界面。与IE8 中的Developer Tools 效果相同,在左侧控件树列表中选择的内容会通过红色边框体现在WPF 应用程序中。
浏览WPF 程序控件属性,同时可以设置断点进行Debug。
比较欣赏Snoop 的一个功能是2D/3D 结构显示效果,点击工具栏中的“放大镜”按键即可浏览,这样看起来控件结构是不是形象了很多。
WPF Inspector
接下来再看看WPF Inspector,打开程序后WPF Inspector 会自动检测到当前启动的WPF 应用程序。
选择EB4 进入捕获界面,按住“Ctrl”键,并在EB4 中移动鼠标可以即时捕捉WPF 应用程序控件,同时显示其相关属性。
也可以按Logical 方式浏览程序控件结构。
查看控件的Trigger 事件。
WPF Inspector 还提供了实时修改WPF 应用程序控件属×××,如下图所示修改了“File”菜单的背景颜色。
有了这两个工具就能够方便快捷的了解一些好的WPF 应用程序是如何架构和开发的,同时也可以进一步提高自己的WPF 水平。
转载于:https://blog.51cto.com/186067/1280613
透视WPF 应用程序的利器相关推荐
- 一起学WPF系列(2):第一个WPF应用程序
概述 Windows Presentation Foundation (WPF) 是下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序.使用 WPF,您可以创建广泛的独立 ...
- 使用浏览器wpf应用程序时访问数据库需要报权限错误的解决方法
在这篇wpf教程中,如果选用浏览器wpf应用程序模板我遇到了 访问数据库时权限不够 不能打开连接 将项目属性的安全性中设置为完全信任后即解决 转载于:https://www.cnblogs.com ...
- 改善WPF应用程序性能的10大方法(转)
细数改善WPF应用程序性能的10大方法 2010年11月16日00:05 it168网站原创 作者:IT168 黄永兵 编辑:胡铭娅 评论:0条 本文Tag: ASP.NET WPF .NET ...
- 如何以编程方式退出WPF应用程序?
几年来,我一直在使用C#(Windows窗体),但从未使用过WPF. 但是,现在我喜欢WPF,但是当用户单击"文件"菜单中的"退出"菜单项时,我不知道如何退出应 ...
- [译]WPF 应用程序和MVVM设计模式 ——Josh Smith
这篇文章讨论: 模式与WPF MVP模式 为什么MVVM更加适用于WPF 用MVVM构建一个应用程序 译文地址: http://www.cnblogs.com/lujiao_cs/ar ...
- 运用Edraw为WPF应用程序嵌入Office文档的方法总结
2019独角兽企业重金招聘Python工程师标准>>> 具体描述了运用Edraw Office Viewer Component为WPF应用长须嵌入MS Word,Excel以及Po ...
- AdonisUI - 用于 WPF 应用程序的轻量级 UI 工具包,提供经典但增强的 Windows 视觉效果...
介绍 用于 WPF 应用程序的轻量级 UI 工具包,提供经典和增强的 Windows 视觉效果 几乎所有 WPF 控件的默认样式和模板 可根据需要使用的其他样式以方便使用 两种配色方案(浅色和深色)也 ...
- 【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)
注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. 3.3 Calling a Web API From a WPF Application ...
- 细数改善WPF应用程序性能的10大方法
WPF(Windows Presentation Foundation)应用程序在没有图形加速设备的机器上运行速度很慢是个公开的秘密,给用户的感觉是它太吃资源了,WPF程序的性能和硬件确实有很大的关系 ...
最新文章
- gensim models.word2vec – Word2vec embeddings API
- python学生管理系统-Python 学生信息管理系统 2.0
- 【小白学PyTorch】13.EfficientNet详解及PyTorch实现
- jdbc增删改查有哪些步骤_用Mybatis如何实现对数据库的增删改查步骤
- JavaScript实现排序算法
- 【Verilog HDL学习之路】第二章 Verilog HDL的设计方法学——层次建模
- [react] 请说下react组件更新的机制是什么
- Netty工作笔记0057---Netty群聊系统服务端
- 阿里正式进军机器人赛道,首款物流机器人“小蛮驴”来了!
- 服务器重启之后自动登录并启动程序
- java后端主要做什么_java后端开发需要学什么
- 人脸及脸部关键点检测控件
- gif一键抠图 在线_在线抠图网站大全
- mysql linux-syn25000是什么_Linux使用awl0.2进行局域网SYN进行洪水ATT
- 单个Java文件打成可执行JAR包
- 【HDOJ】6441--Find Integer
- teambition/tower/team@osc/worktile团队协作工具价格比较
- java webp文件转png,jpg
- 微信开发网页授权认证
- 员工管理系统实现方案
热门文章
- 如何制作linux文件系统,linux文件系统制作(一)
- 利用ESP32驱动控制步进电机驱动器:MS2806
- 隆重介绍恩智浦MCU机器学习教育套件——OpenART
- java 发送邮件_老板要实现SpringBoot发送邮件?大神发了这篇文章后,今晚准点下班...
- 二维随机变量期望公式_MIT 6.041 概率论笔记 离散随机变量(二)
- k8s master ping不通node_搭建k8s可用集群
- 无法连接MySQL_MySQL不能从外部 连接的解决方法
- android log时间,android – Logcat的日志时间戳不按顺序排列
- petalinux 下使用 xsa 查看所有的 Zynq Reg 设置
- java底层语言_JAVA语言思维的底层基础