首先,我们要引用:using Microsoft.Phone.Shell;
第一种:
// 导航到新页面 NavigationService.Navigate(new Uri("/DetailsPage.xaml?selectedItem=" + MainListBox.SelectedIndex, UriKind.Relative));
DetailPage.xaml.cs
// 导航页面以将数据上下文设置为列表中的所选项时 protected override void OnNavigatedTo(NavigationEventArgs e) { string selectedIndex = ""; if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedIndex)) { int index = int.Parse(selectedIndex); DataContext = App.ViewModel.Items[index]; }
}
第二种:
第一个页面
PhoneApplicationService phoneAppService = PhoneApplicationService.Current; protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) { phoneAppService.State["myValue"] = textBox1.Text; base.OnNavigatedFrom(e); }
传递到第二个页面
PhoneApplicationService phoneAppService = PhoneApplicationService.Current; protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { object someObject; if (phoneAppService.State.ContainsKey("myValue")) { if (phoneAppService.State.TryGetValue("myValue", out someObject)) { textBox1.Text = someObject.ToString(); } } base.OnNavigatedTo(e); }