2012-07-02 80 views
0

我有一個大的Silverlight應用程序分爲「標籤」,他們每個進一步劃分爲子標籤。下載xap文件不需要太長時間,第一個屏幕是登錄。但是,登錄後,應用程序的RootVisual被設置爲我的「mainPage」,其中包含我所有的主標籤。由於每一個都包含子選項卡,並且每個子選項卡都包含我的圖形用戶控件,所以當主頁面加載時,我的應用程序的每個UI組件都會加載。因此,登錄「凍結」約30秒,而我的主頁加載我的應用程序的所有用戶控件。什麼是最好的方式來分裂這樣的整個應用程序的用戶界面不會在初始化時加載?我想不是每個控件都調用InitializeComponent(),直到它的父標籤實際上被點擊了?還是不加載主標籤的「子標籤」,直到它被點擊?當然,必須有更好的方法來分解它。UI初始化在Silverlight中緩慢

+0

您是否採用過任何形式的MVVM,或許可以獲得Caliburn Micro等其他支持? –

回答

0

當您使用tabcontrol Silverlight本身負責這些事情。在選擇TabItem之前,它不呈現控件。確保你沒有在任何控件的構造函數中寫任何代碼。所有代碼都應該在任何cotrol的Loaded事件上進行,不管它是用戶控制/自定義控件。因此,您將能夠提升應用程序的性能。

讓我知道你是否仍然有同樣的問題。

乾杯! Vinod