我正在为Windows Phone C#的visual studio制作应用程序 我在主页上有两个文本框。 我想将他们的内容发送到第二页。 但我无法做到这一点
我只能使用
发送一个文本框(name1)而不能发送其他文件框(name2) NavigationService.Navigate(new Uri("/Page1.xaml?msg=" + name1.Text, UriKind.Relative));
请帮助
答案 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
导航不是传递参数的最佳方式。