将数据从数据透视页传递到特定的全景项目

本文关键字:数据 全景 项目 透视 | 更新日期: 2023-09-27 17:57:55

我正试图将数据从数据透视页传递到Windows Phone应用程序中全景图中的特定点,但它不起作用。

我在数据透视页面中创建了一个文本框,用户必须在其中输入名称。一旦用户点击保存按钮(位于应用程序栏中),名称就会转移到文本块(位于全景中)。不幸的是,这不起作用,因为当我输入名称时,应用程序会返回到全景的主页面,并且不会显示保存的名称。

这是我尝试的代码:

数据透视页中的代码:

private void SaveNewName(object sender, System.EventArgs e)
    {
        // TODO: Add event handler implementation here.
        string NewName;
        NewName = NameBox.Text;
        NavigationService.Navigate(new Uri("/MainPage.xaml?msg="+ NewName, UriKind.Relative) ); 
    }

全景图中的代码(MainPage.xaml.cs):

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        /*if (!App.ViewModel.IsDataLoaded)
        {
            App.ViewModel.LoadData();
        }*/
        base.OnNavigatedTo(e); 
        string msg = "";
        if(NavigationContext.QueryString.TryGetValue(msg, out msg))
        {  
            displayName.Text = msg;
        }  

    }

将数据从数据透视页传递到特定的全景项目

您将密钥指定为空字符串变量,而不是在Uri中使用的密钥,然后尝试向其写回。

NavigationContext.QueryString.TryGetValue("msg", out msg)

很可能会成功。还值得将导航键定义为常量,然后在Uri创建和字典填充中引用它们。