2017-10-19 136 views
0

这可能是微不足道的,但我找不到答案。UWP在页面之间传递数据

基本上,我有一个page1(实际上是一个UserControl),它有一个文本框和它旁边的按钮,点击按钮后,我需要打开一个网格的新独立页面,选择一个值并返回它作为一个简单的字符串或int返回到page1。

我知道OnNavigatedTo可以以某种方式在这种情况下使用,但是如果我在page1上有更多的文本框+按钮(与之前的选择相同 - 从另一个页面选择),我该如何导航到特定的UserControl

这是最好的解决方案是什么?

+3

检查此https://stackoverflow.com/questions/35304615/pass-some-parameters-between-pages-in-uwp –

回答

0

,但我应该怎么做,如果我有更多的文本框+按钮 - 在第1页(同以前从其他页面中选择),我怎么可以浏览到特定的用户控件

如果你想UserControl(您的页面1)和Grid(您的页面2)必须分成两页,例如,您希望它必须显示导航效果,您可以考虑将所有数据序列化为Json字符串并将其传递给OnNavigatedTo。例如,您可以将所有文本数据设置为JsonObject,并将UserControl的标识作为JsonObjects之一,并传递到第二页,并在数据返回时还发送UserControl的标识,您将知道哪个UserControl将接收数据。

对于序列化Json数据,您可以参考this sample。在页面之间传递数据请参考this article

什么是最好的解决方案呢?

其实对于您的情况,我认为ContentDialog更适合您的过滤器。情景可以是这样的,你在当前页面有一个UserControl,点击UserControl里面的按钮,弹出一个ContentDialog和一个Grid,在你做一些操作之后,点击ContentDialog里面的一个按钮关闭对话框并且获取返回数据。现在UserControl很容易处理返回数据。查看sample了解更多详情。