3

我创建了一个导航事件,其中 Page1 TextBox1.Text 传输到 Page2 TextBox2.Text

我的第 1 页代码:

    private void button1_Click(object sender, System.Windows.Input.GestureEventArgs e)
    {
        string uri = "/Page1.xaml?Text=";
        uri += TextBox1.Text;
        NavigationService.Navigate(new Uri(uri, UriKind.Relative));
    }

我的第 2 页代码:

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);
        IDictionary<string, string> parameters = this.NavigationContext.QueryString;
        if (parameters.ContainsKey("Text"))
        {
            TextBox2.Text = parameters["Text"];
        }
    }

上面的代码在从 Page1 导航到 Page2 时工作正常,但在尝试使用时会出错

    NavigationService.GoBack();  method

当我将文本从第 2 页传递到第 1 页时,我不想创建第 1 页的另一个实例,我只想返回旧实例,但是这样做时我的文本没有传输,请帮助...

4

1 回答 1

1

检查此链接希望它会对您有所帮助

在页面之间传递值

在第 2 页上,数据使用保存

PhoneApplicationService.Current.State["Text"] = txtboxvalue.Text;

并且可以在 page1 使用

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            if (PhoneApplicationService.Current.State.ContainsKey("Text"))
                txtvalue.Text = (string)PhoneApplicationService.Current.State["Text"];


        }
于 2015-07-22T04:34:25.677 回答