1

我想创建一个二级页面,使用户能够对之前捕获的图像进行后处理。为了将该图像放到第 2 页,我想将其作为某种参数传递。但我看到的唯一方法是将它作为字符串附加到 URL,这听起来效率不高。

我当然知道序列化,但是以 Lima 1020 捕获 38 兆像素:这几乎是 500mb RAM,虽然我不确定一个字符串理论上是否可以包含这么多数据,但我的风格似乎非常糟糕。

那么有没有一种干净的方法来传递数据(我的意思是干净的:将它作为参数传递,而不使用例如静态类)?

4

3 回答 3

1

你可以试试:

PhoneApplicationService.Current.State["yourparam"] = param
NavigationService.Navigate(new Uri("/view/Page.xaml", UriKind.Relative));

在其他页面上,我们可以像这样得到它。

var k = PhoneApplicationService.Current.State["yourparam"];

参考。1

于 2014-03-31T20:22:28.560 回答
0

在页面之间传递数据的最简单方法是使用静态类或单例来保存您希望在所有页面中可用的数据。

建议使用状态字典的另一个答案是有效的,但这可能不是您想要的。使用状态字典需要您的数据是可序列化的,有时这需要一些不必要的额外代码。另外,状态字典的主要用途是在应用程序发送到后台或被墓碑删除时保存应用程序的状态,因此它并不是真正用于跨页面传递参数(在此处阅读更多信息

于 2014-03-31T20:52:38.980 回答
-1

还有另一种方法在 Windows Phone 上的页面之间传递非字符串参数。

于 2014-04-01T06:24:19.647 回答