方法一:通過WEB傳參方式進行傳參
開始跳轉頁:NavigationService.Navigate(new Uri("/Page/MainPage/XXXXPage.xaml?Address="+address,UriKind.RelativeOrAbsolute));轉入頁://此方法應該在頁面的Loaded方法體中實現string address=NavigationContext.QueryString["address"];判斷是否存在:if (NavigationContext.QueryString.ContainsKey("address"))
{
string address=NavigationContext.QueryString["address"];
}
方法二:通過獨立存儲方式進行傳參
開始跳轉頁:IsolatedStorageSettings iss = IsolatedStorageSettings.ApplicationSettings;iss["ImageSource"] = image.source;NavigationService.Navigate(new Uri("/Page/MainPage/XXXXPage.xaml", UriKind.Relative));轉入頁:IsolatedStorageSettings iss = IsolatedStorageSettings.ApplicationSettings;image.Source = (BitmapImage)iss["ImageSource"];
方法三:通過PhoneApplicationService來實現傳參
開始跳轉頁:PhoneApplicationService myService = PhoneApplicationService.Current;protected override void OnNavigatedFrom(NavigationEventArgs e){myService.State["address"] = "address";base.OnNavigatedFrom(e);}轉入頁:PhoneApplicationService myService = PhoneApplicationService.Current;protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e){object address;if (myService.State.ContainsKey("address")){if (myService.State.TryGetValue("address", out address)){string address = address.ToString();}}base.OnNavigatedTo(e);}
方法四:通過App.xaml進行傳參(共享參數)
App.xaml:定義一個或幾個用於傳參的對象,如public string Address{set;get;}開始跳轉頁:(Application.Current as App).Address= "address";轉入頁:string address=(Application.Current as App).Address;判斷是否存在:if (PhoneApplicationService.Current.State.ContainsKey("address"))
{
string address = PhoneApplicationService.Current.State["address"] as string;
}