在 windows phone 的页面之间传递数据有两种策略。
- 使用 App.cs
- 在导航期间将数据作为参数值传递
1.使用App.cs
打开 App.xaml 后面的 App.cs 代码写:
// To store Textbox the value
public string storeValue;
在第 1 页
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
App app = Application.Current as App;
app.storeValue = textBox1.Text;
}
在第 2 页
private void button1_Click(object sender, RoutedEventArgs e) {
App app = Application.Current as App;
MessageBox.Show(app.storeValue);
}
2. 导航时将值作为参数传递
在将嵌入文本框值导航到页面 URL 之前
string newUrl = "/Page2.xaml?text="+textBox1.Text;
NavigationService.Navigate(new Uri(newUrl, UriKind.Relative));
在第 2 页
//Temporarily hold the value got from the navigation
string textBoxValue = "";
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
//Retrieve the value passed during page navigation
NavigationContext.QueryString.TryGetValue("text", out textBoxValue)
}
private void button1_Click(object sender, RoutedEventArgs e) {
MessageBox.Show(textBoxValue);
}
这里有一些有用的链接..