在Windows Phone 8应用程序中的表单之间交换数据

时间:2014-03-12 13:13:42

标签: c# windows-phone-8

我正在使用以下代码在我的应用程序中的两个表单之间交换数据

form1 发送数据,如下所示

NavigationService.Navigate(new Uri(string.Format("/Form2.xaml?myparameter1={0}&myparameter2={1}", "text1", "text2"), UriKind.Relative));

form2 接收数据,如下所示

string receivedtext1 = null;
string receivedtext2 = null;
NavigationContext.QueryString.TryGetValue("myparameter1", out receivedtext1);
NavigationContext.QueryString.TryGetValue("myparameter2", out receivedtext1);

这对我来说很有用。

现在我的问题是我们可以在交换字符串时以类似的方式在两个表单之间交换一个byte []吗?

1 个答案:

答案 0 :(得分:1)

您可以使用PhoneApplicationservice在Windows Phone应用程序中的页面之间传递数据。以下是PhoneApplicationService如何工作的简短示例,这可能会对您有所帮助。

//Before navigation
 PhoneApplicationService.Current.State["Data"] = your byte array;
 NavigationService.Navigate(new Uri(string.Format("/Form2.xaml", UriKind.Relative));

//在第二页

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
     var data =(Cast as byte array)PhoneApplicationService.Current.State["Data"]
     PhoneApplicationService.Current.State.Remove("Data");
    }