将数据返回到上一页 Windows Phone 8.1 Windows RunTime

Posted

技术标签:

【中文标题】将数据返回到上一页 Windows Phone 8.1 Windows RunTime【英文标题】:Returning data to a previous page Windows Phone 8.1 Windows RunTime 【发布时间】:2015-03-05 01:37:51 【问题描述】:

我正在寻找一种从表单返回数据的简单方法。 我正在尝试使用从 form 2 返回的数据填充 form 1 上的文本框。这是用于导航到 form 2 的代码:

this.Frame.Navigate(typeof(form 2));

而且我知道您可以使用此方法将参数传递回 form 1,但是当按下返回时,它会转到 form 2,这并不理想,因为我希望它回到form 0

你能用这个或类似的东西返回数据吗:

 Frame.GoBack();

此外,在页面之间传输数据的唯一方法是:

将处理程序传递给前一个页面,以便您可以从当前页面访问公共变量/属性,

使用静态变量/属性 - 可能是单例

再次使用文件/设置

如Passing Data from Page to Page for Windows Phone 8.1中所说

【问题讨论】:

【参考方案1】:

您是否有理由不想使用您提到的列表中的选项 2 - 将其存储在一个简单的静态属性中?这当然是一个快速的解决方案。

如果您使用 MVVM 和诸如 MVVM Light 之类的库,另一种选择是使用信使将值从连接到表单 2 的 ViewModel 发送到连接到表单 1 的 ViewModel。

订阅:

Messenger.Default.Register<TypeOfMessageYouWantToSend>(this, MethodWhichHandlesTheReceivedValue);

并发送:

Messenger.Default.Send<TypeOfMessageYouWantToSend>(msg);

您可以在导航返回时发送它,甚至在填充表单时发送它等等。

【讨论】:

我只是希望 :) 非常感谢!

以上是关于将数据返回到上一页 Windows Phone 8.1 Windows RunTime的主要内容,如果未能解决你的问题,请参考以下文章

如何在windows phone 8的列表框中添加页脚

windows phone 8.1 电子书阅读器中的翻页动画

如何使用 TCP 或 UDP 将数据从 Windows Phone 8.1 发送到 PC?

Windows Phone 8.1 无法识别导航到的页面

尝试在Windows Phone Emulator上部署会返回0x8103010B

如何将 Windows 商店中的 Windows Phone 应用程序(8.1 XAML)迁移到 8.1 Silverlight?