如何在 Windows Phone 中区分从两个页面发送的数据

本文关键字:两个 数据 Windows Phone 中区 | 更新日期: 2023-09-27 18:36:37

>假设我从第 1 页发送数据,如下所示,

NavigationService.Navigate(new Uri("/Page2?id=" + id, UriKind.Relative));

而且,如果我将另一个数据从第 3 页再次发送到第 2 页,如下所示,

NavigationService.Navigate(new Uri("Page2?data=" + data, UriKind.Relative));

如何区分数据,以及我想要是否可以确定控件应该使用哪个功能?如果是这样,请告诉我方法或建议我一份文件。

如何在 Windows Phone 中区分从两个页面发送的数据

检查查询字符串参数

 private bool HasData
    {
        get
        {
            return NavigationContext.QueryString.ContainsKey("data");
        }
    }
    private bool HasId
    {
        get
        {
            return NavigationContext.QueryString.ContainsKey("id");
        }
    }
     private string ReadValue(string key)
    {
        return NavigationContext.QueryString[key];
    }

读取值

private void DoAction()
  {
      if (HasData)
      {
          var data = this.ReadValue("data");
      }
      else if (HasId)
      {
          var id = this.ReadValue("id");
      }
  }
}
好吧,

不要让你的生活困难使用简单的条件。 我的意思是

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    if (e.Uri.OriginalString.Contains("id"))
    {
        var ID = NavigationContext.QueryString["id"];          
        //this is a parameter from page1 
        // do something
    }
    else   if (e.Uri.OriginalString.Contains("data"))
    {
        var data = NavigationContext.QueryString["data"];          
        //this is a parameter from page2 
        // do something
    }
}

就是这样(: