首页 > 其他分享 >WPF 调试工具Snoop

WPF 调试工具Snoop

时间:2022-12-08 15:25:43浏览次数:40  
标签:控件 Snoop 查看 样式 绑定 WPF 调试

Snoop

一、介绍

Snoop是一个开源的WPF程序探测工具,可以监视和浏览正在运行的WPF程序的可视化和逻辑等,可以更改属性值,查看触发器,在属性更改时设置断点。很小巧,支持选择运行的WPF程序进程或者直接拖动到WPF程序上面。如下图

image

二、使用

选择对象监视进程后,点击右数第4个望远镜形状的按钮,进行探测。

image
左边部分是可视树,可以查看对应窗体的资源字典和控件组成结构。右边是各种需要查看的事务,和VS很相似。如图展开后,显示了各种引用的资源,最好用的一点是,展开可视化树,鼠标悬停到相应控件时,会有该控件的缩略图,帮助我们快读定位到指定控件。
image
与此同时,对应的WPF程序也会有不同的样式来响应该定位操作。例如下图所示,会在该控件周围形成一个粉红色的边框样式,该样式并不是我代码写的,而是表明该区域正在被Snoop聚焦。
image
右上角部分显示各种控件属性,和VS很像,控件的Properties会有详细的记录,对于我们调试样式,查看控件样式继承有重要作用。重要的是可以查看命令绑定和命令参数,对于开发MVVM程序有很大的帮助。如下图所示:
image
DataContext是控件的绑定的对象,在这里查看对象各种属性值,如我这个ListBox里面的内容模板里面的Button,对应的绑定对象是GlobalOrderGoods,也可以在这里改变对象属性值,如我将商品名为西瓜测试改为西1瓜测试,会立即生效:
image

源程序这里因为绑定模式采用的单次绑定,所以页面没有刷新,如果不是单次,源程序会立马体现出来:
image

右下角是诊断的相关信息,这里会给出一些建议或者提示绑定错误等内容。
如下图所示,警告信息IsDisplayJin绑定一次可能导致内存泄漏。还有各种画刷提高性能的建议和可维护性建议,可根据实际情况合理采纳诊断建议。
image

标签:控件,Snoop,查看,样式,绑定,WPF,调试
From: https://www.cnblogs.com/leafroc/p/16965654.html

相关文章

  • Xcode9 无证书真机调试​
      写在前面​公司分配了新的测试机,证书99台名额已满,所以上网找教程,学习了一下如何使用Xcode无证书进行真机调试。​ 一.创建证书​1.运行Xcode,Xcode–》Pre......
  • idea对服务器上的tomcat进行远程调试
    1,首先是在idea中配置,按下图里面的“+”号,新增一种remote的启动方式。之后配置remote启动方式相关的两个配置参数。(1)配置远程tomcat服务器的地址,(2)配置远程tomcat的......
  • 测试调试,ddt用例全部执行
    原理:通过inspect方法获取类的所有方法,再将过滤的ddt用例加入套件 foritemininspect.getmembers(CaseConvertAndUpdateModel,inspect.isfunction):if'test_Conv......
  • 玩好.NET高级调试,你也要会写点汇编
    一:背景1.简介.NET高级调试要想玩的好,看懂汇编是基本功,但看懂汇编和能写点汇编又完全是两回事,所以有时候看的多,总手痒痒想写一点,在Windows平台上搭建汇编环境不是那么......
  • 高压变频器控制系统中的PLC如何实现远程监控和编程调试?
    在大型冶金钢铁、石油化工、电力能源、采矿和市政供水等行业应用广泛的泵类设备,占据整个用电能耗系统的40%以上,一般采用高压变频器对各类泵设备进行速度控制。随着PLC控制技......
  • wpf 查找指定类型的子元素
    publicList<T>GetChildObjects<T>(DependencyObjectobj,Typetypename)whereT:FrameworkElement{DependencyObjectchild=null;......
  • 【高精密时钟】NTP网络校时服务器在WIN平台下调试步骤
    【高精密时钟】NTP网络校时服务器在WIN平台下调试步骤【高精密时钟】NTP网络校时服务器在WIN平台下调试步骤京准电子科技官微——ahjzsz以下是WindowsXP、win10等系统......
  • 调试临时日志输出
    一、非控制台程序也可使用控制台输出1、AllocConsole为当前进程分配一个控制台2、在程序中调用printf, cout等函数即可3、FreeConsole不使用时调用释放控制台 如下: intW......
  • Windows下使用vim编写代码,使用nmake编译代码,使用vs来调试代码
    2、编写Makefile,如果要调试,2.1、需要在编译的时候加上/Zi( Generatescompletedebugginginformation),编译由cl.exe来完成2.2、需要在链接选项中指定/DEBUG,(The......
  • 高通平台snoop log抓取和蓝牙版本读取
    A.snooplog获取:1.Turnoffbluetooth2.adbshellsetproppersist.bluetooth.btsnoopenabletrue3.adbshellsetproppersist.bluetooth.btsnooplogmodefull(Android......