3_1生命周期

大家好,我是徐文康,今天我们来讨论一下应用程序的生命周期,首先打开app.xaml.cs文件我们可以看到这里有几个已经为我们写好的事件。   Launching 应用程序启动 Activated 从导航回到app Deactivated 离开 Closing 关闭 了解构造函数 理论上来说,wp应用程序执行模型值运行一个app再前台运行,也就是用户导航离开该应用程序,程序将进入休眠,事实上程序还驻留在内存中,当导航回到该应用程序时,系统将自动恢复,但是事实并不是如此,如果用户离开后,打开程序超过5个,那么最前面的程序被逻辑删除掉。当用户再次返回,系统不会自动恢复,而且没有激活closing事件。而且应用的构造程序会被再次执行。先前的信息会被丢失掉。 我们今天要做的是一个简单记事本,主要实现如何在被逻辑删除时保持数据。   先做前台的UI部分,我要添加一个textblock和textbox。缩放大小 Textblock绑定mouse enter事件 当发生这个事件的时候,textblock.text值传给textbox,textblock变成不可见 Textbox变成可见。 给textbox绑定losefocus 当失去焦点的时候 textblock变成可见。Textbox变成不可见。 Textbox.text值传给textblock打印出来。 然后为app类添加一个公共属性 appdata 属性提供了只读(get),只写(set),读写(get和 set)三种接口操作。 再回到那里,(application.current as app).appdata = textblock.text; 使用Application对象 使用它里面的public参数很简单,假设在MainPage.xaml.cs你可以这样访问: (Application.Current as App).YourPublicParam 被逻辑删除掉后当用户再次返回,系统不会自动恢复,而且应用的构造程序会被再次执行。先前的信息会被丢失掉。 我们要先判断是否这个页面被再次构造过。 定义bool On navigatedto 其他页面跳转到该页面 如果被构造过还原数据 如果数据不是空的。 那么还原 去完善app.xaml 这个呢是用户手指触摸后所激活的后台逻辑代码块 状态信息是以字典的形式储存的,关键字 - 数据内容 临时数据,如果程序关闭(不是休眠,和逻辑删除) 字典将不存在,只在该应用程序的生命周期内 状态信息是以字典的形式储存的,关键字 - 数据内容 零时数据,如果程序关闭(不是休眠,和逻辑删除) 字典将存在,只在该应用程序的生命周期内   导航事件处理 OnNacigatedFrom 当前页面导航到其他页面的之后发生的事件 OnNacigatedTo 其他页面导航到该页面 OnNacigatingFrom 当前页导航到其他页面之间发生的事件