2014-05-14 61 views
0

我從一個頁面導航到另一個頁面。我知道如何在這些頁面之間傳輸一些數據:帶有複雜數據的頁面導航參數

「調用頁面」:

NavigationService.Navigate(new Uri("/Views/ViewerPage.xaml?image=" + mImageID, UriKind.Relative)); 

「被叫頁」:

NavigationContext.QueryString.TryGetValue("image", out mImageURL) 

但我怎麼能轉移更復雜的數據?

List<tring> mList = new List<string>; 
mList.Add("test-1"); 
mList.Add("test-2"); 

我想現在將完整列表`mList'轉移到被叫頁面。 任何indeas如何處理?

回答

4

在第一頁中執行以下操作:

PhoneApplicationService.Current.State["param"] = mList; 
NavigationService.Navigate(new Uri("/PhonePageOne.xaml", UriKind.Relative)); 

而在第二個檢索參數:

List<string> p = PhoneApplicationService.Current.State["param"] as List<string>; 

的PhoneApplicationService.State字典是一直持續到你的應用程序是一個臨時存儲位置停用。

其他選項可以是聲明在靜態成員,例如,App.xaml.cs並用它來保存THOE對象從一個頁面的從第二個retreive。