2012-09-03 46 views
1

我有一個Caliburn.Micro應用程序,可以在一些相當慢的面板PC上運行。該應用程序的形狀像一個嚮導,用戶必須經過幾個屏幕。由於運行應用程序的計算機速度較慢,因此每次創建視圖時都會有明顯的延遲。Caliburn Micro中的預加載視圖

在實際展示它們之前,有沒有預加載或預渲染視圖的方法,這樣我就可以在應用程序啓動中花費時間(由於其他原因,這已經很長),並避免延遲視圖?

在此先感謝

+0

你確定問題是視圖的渲染而不是ViewModels的構造? –

+0

@DanielHilgarth視圖模型已在啓動時構建。 –

+0

意見是否複雜?他們需要很長時間才能渲染是否合理? –

回答

1

一點關於OnViewReady

從哪裏加載數據以及如何發生,你能顯示代碼嗎?它是加載異步,所以視圖顯示,但數據仍在加載?

這或許可以構建一個視圖中的應用程序啓動時,將其提供給ViewModel,然後覆蓋GetView。如果視圖不像上面所說的那麼複雜,那很可能是數據的加載。

+0

沒有數據被加載。運行應用程序的平板電腦真的非常慢,所以只是創建視圖引入了明顯的延遲。 你會如何去手動構建視圖?這基本上是我要找的。 –

+0

我還沒有嘗試過,但是你可以嘗試在引導程序中註冊它們,然後將它們注入到ViewModel中。然後重寫GetView並返回注入的View。我不得不看看CM代碼,看看它是否會起作用。 –

+0

有趣。我會試試這個。 –