加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将数据从页面传递到Windows Phone 8.1的页面

发布时间:2020-12-15 04:01:56 所属栏目:百科 来源:网络整理
导读:我有完全相同的问题 Passing data from page to page,但仅适用于Windows Phone 8.1(与Windows Phone 7相反).这是一个问题: 我正在寻找如何从一页到另一页传递数据的最佳做法. 在第一页我有一个按钮,从第B页开始. 在页面B上我有6个文本框,允许用户输入信息.
我有完全相同的问题 Passing data from page to page,但仅适用于Windows Phone 8.1(与Windows Phone 7相反).这是一个问题:

我正在寻找如何从一页到另一页传递数据的最佳做法.

在第一页我有一个按钮,从第B页开始.
在页面B上我有6个文本框,允许用户输入信息.当用户完成后,单击按钮将其返回到页面A.

我想将该数据传回给第A页.

我已经看到建议:

构建XML文档并保存到隔离存储
使用App类将信息存储在属性中
像查询字符串一样传递
我正在寻找最佳实践.有没有一个微软推荐或普遍接受的最好的方法?

谢谢

解决方法

在WP8.1运行时 – 对于Silverlight,the methods used in WP8.0仍然可以工作 – 你有几个选择:

>第一个也许最简单的方法是使用Navigate with parameter – 如果它是一个可序列化类型,则不必将其转换为字符串:

// let's assume that you have a simple class:
public class PassedData
{
   public string Name { get; set; }
   public int Value { get; set; }
}

// then you navigate like this:
Frame.Navigate(typeof(Page1),new PassedData { Name = "my name",Value = 10 });

// and in target Page you retrive the information:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
    PassedData data = e.Parameter as PassedData;
}

>您可以使用一些静态对象沿着App传递您的数据
>最后,如你所提到的,您可以将数据保存在:LocalSettings,LocalStorage,LocalCache – 在这种情况下,您也必须将其序列化到XAML,Json或其他.

请注意,您还必须处理应用程序暂停/恢复 – 因此在应用程序暂停时保存数据并在恢复时加载.你应该记住,当应用程序恢复时,OnNavigatedTo不被调用.

以上是关于正常的导航(向前).如果要填写上一页中的某些数据,那么您有几个选项:

将一个处理程序传递给上一个页面,这样可以从当前页面访问公共变量/属性,
>使用静态变量/属性 – 可能是单例
>再次使用文件/设置

请注意,前两种方法的缺点是应用程序可能会在挂起后崩溃.保存到文件可能在这里更好,认为需要更多的工作和正确的处理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读