我想创建一个二级页面,使用户能够对之前捕获的图像进行后期处理。要将该图像转换为第2页,我想传递的是某种参数。但我看到的唯一方法是将其作为字符串附加到URL,并且听起来效率不高。
当然我知道序列化,但是让利用1020万像素捕获利马1020:这几乎是500mb内存,虽然我不确定一个字符串是否理论上 contian contian那么多的数据,我看起来非常糟糕。
那么是否有一种传递数据的简洁方法(通过干净我的意思是:将其作为参数传递,而不使用例如静态类)?
答案 0 :(得分:1)
您可以尝试:
PhoneApplicationService.Current.State["yourparam"] = param
NavigationService.Navigate(new Uri("/view/Page.xaml", UriKind.Relative));
在其他页面上,我们可以像这样得到它。
var k = PhoneApplicationService.Current.State["yourparam"];
答案 1 :(得分:0)
在页面之间传递数据的最简单方法是使用静态类或单例来保存您希望在所有页面中可用的数据。
建议使用状态字典的另一个答案是有效的,但这可能不是您想要的。使用状态字典需要您的数据可序列化,有时这需要一些不必要的额外代码。另外,状态字典的主要用途是在将应用程序发送到后台或逻辑删除时保留应用程序的状态,因此它不是真正用于跨页面传递参数(Read more here)
答案 2 :(得分:-1)