Windows Phone のページ間でデータを渡す方法は 2 つあります。
- 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);
}
ここにいくつかの便利なリンクがあります..