ページをナビゲートした後にページにコンテンツを保存する方法

私は4つのテキストボックスを持つページを持っています。 TextBoxを押すたびに、Itemboxを通して快適な入力を行うために、 NavigationService を使用して新しいページに移動します。私はItemboxからの選択を送信するために NavigationContext を使用します。しかし、最初のページに戻るたびに、ページのコンストラクタが呼び出され、塗りつぶされたテキストボックスの代わりに空のテキストボックスが表示されます。

どうすればこれを避けることができますか?

0

1 答え

NavigationService.Navigate()を使用してメインページに「戻る」ように積極的にナビゲートしますか?これを行わないでください。 NavigationService.GoBack()を使用するか、ユーザーに戻るボタンを使用させます。

値は PhoneApplicationService.Current.State で転送できます。ユーザーがItemboxに値を入力するページにこれを追加します:

protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
    PhoneApplicationService.Current.State["name"] = "value";
    base.OnNavigatedFrom(e);
}

ユーザーがメインページに戻ると値が保存されます。そしてあなたのメインページコードに:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);

    if (PhoneApplicationService.Current.State.ContainsKey("name"))
        textBox1.Text = (string)PhoneApplicationService.Current.State["name"];
}

これで値が取得され、 TextBox に設定されます。

2
追加された
できます!どうもありがとうございました!
追加された 著者 Pamp,