2013-04-28 52 views
0

我有一個將數據存儲在獨立存儲中的應用程序。我有一個讀取數據的函數(在Apps.xaml.cs中調用):如何延遲MainPage,以便在數據加載後啓動?

await ReadData();

但是,在數據讀取之前,在MainPage中調用OnNavigatedTo。此時保存數據的緩衝區仍爲空。

如何防止MainPage.OnNavigateTo()與ReadData未完成一樣長?

我嘗試通過在Apps中設置信號量並在MainPage構造函數中設置WaitOne()來同步Apps & MainPage。這將該應用程序掛在WaitOne上。

任何想法如何解決這個時間問題?

回答

0

您不能延遲加載主頁 - 就好像加載週期沒有及時執行一樣,應用程序將被操作系統關閉。

解決此問題的最佳方法是創建一個臨時初始頁面,該頁面將處理向用戶顯示UI時的數據下載。數據下載後,您可以重定向到您的主應用程序頁面。

+0

我看過BackgroundWorker。 BackgroundWorker是否可以訪問MainPage的局部變量,即讀取數據並將數據存儲在那裏? – 2013-04-28 05:03:37

+0

實施了LewisBenge,它工作的很棒!還添加了:NavigationService.RemoveBackEntry();所以回去不會通過啓動畫面。 – 2013-05-08 18:15:39