我喜欢使用Windows Presentation Framework进行编程.大多数情况下,我使用WPF和XAML编写类似浏览器的应用程序.
但真正令我恼火的是WPF的缓慢.一个只有少量控件的简单页面加载速度足够快,但是一旦页面变得太复杂,就像包含大量数据输入字段,一个或两个选项卡控件以及其他内容一样,它会变得很痛苦.
加载此类页面可能需要一秒钟以上.实际上,特别是在没有那么快的计算机(阅读:客户计算机)上它可能需要很长时间.
与更改页面上的值相同.关于WPF UI的一切都是某种程度的笨拙.
这太平均了!他们给了我这个漂亮的框架,但是让它变得非常缓慢,所以我必须一直向我们的客户道歉!
我的问题:
由于这似乎是WPF的普遍问题,我正在寻找一般建议,对许多情况和问题都有用.
其他一些相关问题:
我从.NET 1.1开始就一直在使用Winforms,我想开始学习WPF.
我正在为WPF的初学者寻找一些好的资源.我应该阅读什么,我需要什么工具,以及我应该遵循的最佳做法是什么?
作为Win32背景下的"硬核"WinForms程序员,我一直使用Spy ++来理解我的应用程序在UI级别上做了什么,包括:
然后我经常在源代码中搜索控件名称,当你不得不在一个你不熟悉的大型应用程序上更改UI时非常有用.
那么我如何对WPF应用程序做同样的事情呢?
(如果需要,您可以假设我可以访问WPF应用程序的源代码,但我更确切地说,该实用程序在不需要应用程序源代码的情况下工作.)
感谢您的回答,我刚刚在StackOverflow中搜索了" Snoop ",并在WPF工具列表中找到了一些问题/答案.
列出工具和实用程序,以在Microsoft平台上开发Rich Interactive Application
建议应该与XAML或Silverlight/WPF有某种直接关系,而不是常见的.NET实用程序.
其他一些相关问题:
silverlight wpf .net-3.5 visual-studio-2008 expression-blend
是否可以将对象(其属性及其值)可视化并将其打印出来(将其转储 - 类似于序列化)到WPF控件(如TreeView或PropertyGrid)以检查对象?
目标是显示任何仲裁对象的内容(不仅用于调试目的).
有关进一步说明:我不是在寻找任何调试工具或显示WPF Visual Tree的方法.这个问题只与WPF有一定关系 - > WPF只是显示对象转储的媒体,因为WPF和WinForms之间的控件可能不同.
对于嵌套对象实例,列表等,输出应该是分层的.

wpf ×5
.net ×2
.net-3.5 ×2
c# ×1
object ×1
performance ×1
properties ×1
silverlight ×1
spy++ ×1
utilities ×1