WPF中页面和窗口之间是否存在加载速度差异?

时间:2012-03-01 06:21:52

标签: wpf wpfdatagrid

我想在WPF中的DataGrid中加载10000个项目。使用Window控件时,数据加载速度比使用Page控件时更快。有人可以解释原因吗?

1 个答案:

答案 0 :(得分:1)

  

页面适用于导航应用程序(通常使用   后退和前进按钮,例如IE浏览器)。页面必须是   托管在NavigationWindow或Frame

中      

Windows只是普通的WPF应用程序Windows [lnk]

这基本上是一个XBAP vs ClickOnce问题。页面中的任何内容都是由WPF允许在浏览器窗口中执行的内容编译和限制的。这排除了WPF Windows可以逃脱的许多低级计算机操作,因为它们被编译为从桌面运行。 Window应用程序可以完全访问系统资源。

请记住,当您使用Page控件时,即使在调试期间,生成的代码也会在构建时考虑到浏览器部署。所有XBAP都在部分信任下的限制性安全沙箱中运行。换句话说,它们被允许使用某些.NET库但被禁止访问其他.NET库。 [ref]这些.NET库中的一些将负责优化,因此无法在浏览器部署中实现。

因此,完全合理的是,在Windows中构建的应用程序能够比在Pages中构建的应用程序更快地执行大多数操作。