日期:2014-05-17  浏览次数:20851 次

|ZYCWPF| WPF绑定进程列表为什么在最大化和最小化的时候会在卡的现像
http://pan.baidu.com/share/link?shareid=161184&uk=3224032458
上面的代码示例,在绑定后最大化和最小化的时候会出现卡的情况
而且在拖动滚动条也会出现卡的情况
这是为什么呢?
------最佳解决方案--------------------
这次真的没有发现你说的现象。我这里Process一共有160条,我用模拟数据填充到1000条也没有发现卡,只是最大化的时候有很轻微的停顿。
------其他解决方案--------------------
是不是你在WPF Rendering 1中执行,参考
http://www.cnblogs.com/mycom/archive/2010/11/15/1877878.html
检查HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration
------其他解决方案--------------------
我发出在调试状态下才会,非调试状态(也就是直接运行生成的exe)就不会
那这两者有区别吗?
谢谢
------其他解决方案--------------------
引用:
我发出在调试状态下才会,非调试状态(也就是直接运行生成的exe)就不会
那这两者有区别吗?
谢谢

调试下默认是WPF Rendering 1
------其他解决方案--------------------
引用:
我发出在调试状态下才会,非调试状态(也就是直接运行生成的exe)就不会
那这两者有区别吗?
谢谢

嗯,调试模式下确实有明显卡的现象。
我发现在取Process.StartTime的时,Idle process会抛出access denied的Win32Exception,这个是造成慢的原因,我这里Init方法中改成这样就可以了:
this.ListProcess = Process.GetProcesses().Where(p=>p.ProcessName != "Idle").ToArray();

原因的话,应该是在运行状态绑定时出现exception,就简单的放弃绑定。而在调试模式下,需要打印输出错误吧(实际上你的程序里还有其它非致命的异常,会造成出现程序卡,同时在调试窗口可以看到输出的异常信息。)
------其他解决方案--------------------
哦。。谢谢。。。
还从来没有看过调试窗口
以后我注意了