在页面之间发送多个数据

时间:2012-05-08 08:51:05

标签: c# visual-studio-2010 windows-phone-7

我正在为Windows Phone C#的visual studio制作应用程序 我在主页上有两个文本框。 我想将他们的内容发送到第二页。 但我无法做到这一点

我只能使用

发送一个文本框(name1)而不能发送其他文件框(name2)
 NavigationService.Navigate(new Uri("/Page1.xaml?msg=" + name1.Text, UriKind.Relative));

请帮助

3 个答案:

答案 0 :(得分:0)

您必须在代码中覆盖OnNavigatedFrom方法。看看here

抱歉,方法不对。我会写类似的东西:

protected override void OnNavigatedTo(NavigationEventArgs e)
{ 
Page2 page2 = e.Content as Page2;
page2.textBox.text += name1.text;
page2.textBox.text += name2.text'
}

答案 1 :(得分:0)

此前有人问过这个问题: -

Windows Phone Navigation - Passing back to the page before

该主题提供了三种不同的方法,可以在页面之间访问数据,并消除了在查询字符串中设置数据的要求。

答案 2 :(得分:0)

根据文本框中的值是否要创建某种形式的内部状态,我会创建一个保存当前状态的静态类。

当在框中输入文本时,在此静态类上更新2个字符串。显然,该类仍可用于从未来页面中提取数据,以及用户是否恰好在应用程序中点击“返回”。当您将来扩展它以保存更多数据时,它可能会对您有所帮助。

但是,使用您目前使用的Uri方法传递多个值时应该没有问题,您可以这样做:

NavigationService.Navigate(new Uri("/Page1.xaml?msg=" + name1.Text + "&name2=" + name2.Text, UriKind.Relative));

请注意,Uri导航不是传递参数的最佳方式。