如何在调试过程中查看WPF应用程序的GUI控件属性?
WPF 运行时GUI控件属性查看及数据赋值不生效解决方案
赋值后UI无更新的原因
直接修改DataRow.ItemArray的索引项不会触发DataTable的属性变更通知,WPF绑定无法感知数据更新,自然不会刷新UI,正确的赋值写法为:
dt_Proposal.Rows[0][i] = highest_val + min_val;
空闲状态下查看主窗体所有GUI控件属性的方法
- 方法一:使用实时可视化树(推荐)
调试模式启动应用,待进入目标空闲状态后,点击VS顶部菜单栏「调试」→「窗口」→「实时可视化树」,打开的窗口会完整展示当前应用所有UI元素的层级结构,找到主窗体下对应的目标控件,右键选择「检查属性」即可打开实时属性面板,所有控件的属性、绑定状态、资源信息均可直接查看,也可临时修改属性值即时查看UI变化。 - 方法二:UI线程断点查看
之前无法查看this对象是因为全部中断时当前上下文不在UI线程,WPF的UI对象仅允许在UI线程访问。你可以临时给主窗体添加一个按钮点击事件,在事件内部打一个断点,运行时点击按钮触发断点,此时的this就是可正常访问的MainWindow实例,添加到监视窗口即可展开查看所有内部控件的属性、字段参数。 - 方法三:代码调度读取
如果需要在非UI线程的逻辑中主动读取控件属性,可通过主窗体的Dispatcher将访问逻辑调度到UI线程执行:var propertyVal = Application.Current.MainWindow.Dispatcher.Invoke(() => { // 此处编写访问控件属性的逻辑 return 目标控件.目标属性; });
内容的提问来源于stack exchange,提问作者Dominique
相关产品推荐
相关产品推荐

