2012-09-03 64 views
1

我有一个Caliburn.Micro应用程序,可以在一些相当慢的面板PC上运行。该应用程序的形状像一个向导,用户必须经过几个屏幕。由于运行应用程序的计算机速度较慢,因此每次创建视图时都会有明显的延迟。Caliburn Micro中的预加载视图

在实际展示它们之前,有没有预加载或预渲染视图的方法,这样我就可以在应用程序启动中花费时间(由于其他原因,这已经很长),并避免延迟视图?

在此先感谢

+0

你确定问题是视图的渲染而不是ViewModels的构造? –

+0

@DanielHilgarth视图模型已在启动时构建。 –

+0

意见是否复杂?他们需要很长时间才能渲染是否合理? –

回答

1

一点关于OnViewReady

从哪里加载数据以及如何发生,你能显示代码吗?它是加载异步,所以视图显示,但数据仍在加载?

这或许可以构建一个视图中的应用程序启动时,将其提供给ViewModel,然后覆盖GetView。如果视图不像上面所说的那么复杂,那很可能是数据的加载。

+0

没有数据被加载。运行应用程序的平板电脑真的非常慢,所以只是创建视图引入了明显的延迟。 你会如何去手动构建视图?这基本上是我要找的。 –

+0

我还没有尝试过,但是你可以尝试在引导程序中注册它们,然后将它们注入到ViewModel中。然后重写GetView并返回注入的View。我不得不看看CM代码,看看它是否会起作用。 –

+0

有趣。我会试试这个。 –