在Windows手机项目中将值从一个页面传递到另一个页面

时间:2015-03-11 21:20:40

标签: c# xaml windows-phone-8.1 data-transfer

我正在尝试研究如何将字符串值从一个Windows Phone应用页面转移到下一个this article,但我收到的错误是"名称' NavigationService&#39 ;在当前上下文中不存在"。

第1页上有一个文本框和一个按钮。第2页上只有一个TEXTBLOCK。我希望在第1页的文本框中输入一个字符串,当单击该按钮时,页面2显示页面文本块中文本框(第1页)中的文本2.

对于按钮单击甚至在第1页中,我输入了:

private void Button_Click(object sender, RoutedEventArgs e)
{

    NavigationService.Navigate(new Uri("/Page2.xaml?msg=" + Texbox_page1.Text, UriKind.Relative));

}

在OnNavigatedTo方法的第2页中,我输入了

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

    string msg = "";

    if (NavigationContext.QueryString.TryGetValue("msg", out msg))
    {
        Textblock_nickname_display.Text = msg;
    }
}

我错过了什么?如果有更简单的方法,请分享!

我花了差不多4个小时试图解决这个问题,观看YouTube视频,什么不是!

提前致谢!

2 个答案:

答案 0 :(得分:1)

确保你有

using System.Windows.Navigation;

另外,请确保您的网页继承自正确的基类。

public class SecondPage : PhoneApplicationPage
{

...

}

修改 在解决方案资源管理器中右键单击您的项目,然后单击添加>参考并搜索 PresentationFramework 。添加该引用应该为您提供所需的命名空间。

答案 1 :(得分:0)

您的项目是Windows Phone 8.1(通用),因此NavigationService不再存在。

您可以在WP 8.1中使用 Frame.Navigate 方法。

以下是我对Windows Phone 8.1中页面导航的回答,请阅读:

Windows Phone 8.1 - Page Navigation