WPF中页面(Page)和窗口(Window)的加载速度有差别吗?

6
我想在WPF的DataGrid中加载10,000个项目。使用窗口 (Window)控件时,数据加载比使用页面 (Page)控件要快。有人能解释一下为什么吗?

为什么不创建一个简单的测试? - Jake Berger
我认为你可以使用性能分析工具(dotTrace或ANTS)来查看发生了什么以及是什么原因导致了差异。 - pguzewicz
你需要进行编辑或添加吗?如果不需要,使用ListView GridView会获得更好的性能。我建议您检查代码,看看是否有不同的解决方案。 - paparazzo
你的页面托管在哪里?可能是因为 WPF 尝试确定网格/列大小。你的列是自动生成的吗?如果已定义,是否指定了列大小? - KornMuffin
1个回答

2
页面是用于导航应用程序(通常带有返回和前进按钮,例如Internet Explorer)的。页面必须托管在NavigationWindow或Frame中。
窗口只是普通的WPF应用程序窗口。
这本质上是一个XBAP vs ClickOnce的问题。页面中的任何内容都是为WPF在浏览器窗口中允许执行的内容进行编译和限制的。这排除了许多低级计算机操作,而WPF Windows可以通过它们编译为从桌面运行来完成。窗口应用程序可以完全访问系统资源。
请记住,当您使用页面控件时,即使在调试期间,生成的代码也是针对浏览器部署构建的。所有的XBAP都在受限制的安全沙箱下以部分信任方式运行。换句话说,它们可以使用某些.NET库,但禁止访问其他库。[参考文献]其中一些.NET库将负责优化,因此无法在浏览器部署中实现。
因此,在Windows中构建的应用程序能够比在页面中构建的应用程序更快地执行大多数操作,这是完全有道理的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接