繁体   English   中英

Windows Phone C#中的页面之间传递字符串值时,Navigation_Failed

[英]Navigation_Failed when pass string value between pages in windows phone C#

我想将字符串值从setting.xaml传递给MainPage.xaml

这是我的代码settings.xaml

Public settings(){
.....
string url = string.Format("/MainPage.xaml?msg1={0}", updateSignature.Text);
        NavigationService.Navigate(new Uri(url, UriKind.Relative));}

我的更新。签名是一个文本块

这是我在MainPage.xaml中的代码

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            string msg1 = "";
            if (NavigationContext.QueryString.TryGetValue("msg1", out msg1))
            {
                textBlock1.Text = String.Format("Signature Anda :{0}", msg1);
            }

当我构建它并移动到设置页面时,出现Navigation_Failed错误。 我该怎么办 ?

您在SettingsPage.xaml中的代码似乎在构造函数中。 这不是正确的方法。 我无法确切地知道您的问题,但我可以通过简单的方式为您提供解决方案。 我在设置page.xaml中的代码是,

    <StackPanel>
        <TextBlock Name="updateSignature" Text="textinSettingsPage" FontSize="30"/>
        <Button Content="GotoMainPage" Click="Button_Click"/>
    </StackPanel>

我使用按钮单击来处理。 这是我在SettingsPage.xaml.cs文件中的代码,

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        string url = string.Format("/MainPage.xaml?msg1={0}", updateSignature.Text);
        NavigationService.Navigate(new Uri(url, UriKind.Relative));
    }

这是MainPage.xaml中的代码,

    <StackPanel>
        <TextBlock Name="textBlock1" FontSize="30"/>
        <Button Content="Go to settings page" Click="settings_Click" Name="settings"/>
    </StackPanel>

最后,我的代码是MainPage.xaml.cs,

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        string msg1 = "";
        if (NavigationContext.QueryString.TryGetValue("msg1", out msg1))
        {
            textBlock1.Text = String.Format("Signature Anda :{0}", msg1);
        }
    }

    private void settings_Click(object sender, RoutedEventArgs e)
    {
        NavigationService.Navigate(new Uri("/SettingsPage.xaml", UriKind.RelativeOrAbsolute));
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM