我正在尝试将数据从数据透视表页面传递到Windows Phone应用程序中的全景图中的特定点,但它无法正常工作。
我在数据透视页面中创建了一个文本框,用户必须在其中输入名称。只要用户点击“保存”按钮(位于应用程序栏中),名称就会传输到文本块(位于全景图中)。不幸的是,当我输入名称时,这不起作用,应用程序返回到全景图的主页面,并且不显示保存的名称。
这是我尝试过的代码:
Pivot页面中的代码:
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;
}
}
答案 0 :(得分:0)
您将密钥指定为空字符串变量,而不是您在Uri中使用的密钥,然后尝试写回来。
NavigationContext.QueryString.TryGetValue("msg", out msg)
可能会做的伎俩。也可能值得将导航键定义为常量,然后在Uri创建和字典中的人口中引用它们。