在WPF中实例化多个视图时减少UI负载

时间:2014-03-19 10:08:29

标签: c# wpf mvvm view viewmodel

我的设置简化如下:

我的主要窗口仅包含ContentPresenter,每个视觉效果都是View,其中填充了ViewModel的数据,这些数据由一组DataTemplate分配,每个ViewModel分配{ {1}}到特定的View

View还包含ContentPresenterItemControl以显示嵌套的ViewModel

您可以将主窗口视为“从此文件夹开始递归显示每个文件和文件夹”,文件和文件夹有View个/ ViewModel个。

我在后台线程中预加载ViewModel并在主窗口中显示“加载”消息(主窗口响应,尽管你不能做任何事情)。

在创建ViewModel之后,我编组了DataContext的交换。

View全部装满之前,主窗口会冻结约。 2秒。

此次分析应用程序没有显示,很可能是因为它是在未分析的某个WPF核心中完成的。

有没有办法在不阻止用户界面的情况下“预加载/预渲染”View

我知道当应用程序在被阻止时没有显示任何内容时,在这个具体案例中可能不会引起关注。但是也有类似的情况显示有用的东西。

0 个答案:

没有答案