- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WP7 应用数据存储Tombstoning(墓碑化)
Windows Phone 可以支持5个墓碑化(Tombstoning)应用程序,第三方开发的应用程序只能使用最后一个墓碑空间,最新的墓碑化应用程序会自动替换前一个程序。我们可以利用墓碑化功能暂时保存应用程序当前状态,如果用户有意或无意触碰了手机Home 按键,并再次点击Back 按键时应用程序会从墓碑化状态激活并返回最后应用程序状态。
在开发墓碑化应用程序时,我们可以使用两种数据存储方式:应用程序状态(Application State)、页面状态(Page State),这两种方式最大的区别在于数据存储和使用范围不同,应用程序状态通过 PhoneApplicationService.State 属性可存储所有应用程序页面的数据,并不局限于某一个页面,不同的页面可以通过PhoneApplicationService.State 来获取相关的数据。页面状态使用 PhoneApplicationPage.State 属性针对的是单独页面的数据内容,当用户点击Back 按键返回时,系统将返回用户之前看到的页面信息。需要注意的是这些存储都是暂时性的,如果应用程序需要永久的数据存储,还应当使用独立存储(IsolatedStorage)方式,具体可参考《 WP7 应用数据存储IsolatedStorage 篇》。
下面我们来做一个简单的实例应用,新建一个Windows Phone 项目,加入TextBox 控件。
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel Orientation="Vertical">
<TextBlock Text="Input text here:"/>
<TextBox x:Name="testTextBox" Height="70"/>
</StackPanel>
</Grid>
在存储页面数据时我们需要使用 OnNavigatedFrom 和 OnNavigatedTo 方法,当用户离开某页面时将会启动该页面的OnNavigatedFrom 方法,当转向某页面时将执行该页面的OnNavigatedTo 方法。在使用上述方法时需要增加System.Windows.Navigation 命名空间。
首先我们来编写OnNavigatedFrom 方法的内容,当用户离开MainPage 页面后,将testTextBox 中填写的内容保存到textVal 键。此处使用的是PhoneApplicationPage.State 方式进行存储。
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
State["textVal"] = testTextBox.Text;
base.OnNavigatedFrom(e);
}
接下来继续编写OnNavigatedTo 方法,当用户点击Back 按键返回MainPage页面,将恢复之前testTextBox 填写的内容。通过State.TryGetValue 方法即可获得之前保存到textVal 键中的值。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
object textObj;
if (State.TryGetValue("textVal", out textObj))
{
testTextBox.Text = textObj.ToString();
}
base.OnNavigatedTo(e);
}
如果这个TextBox 的内容将用于整个应用程序,任何页面都能够访问到这个数据,则需要使用PhoneApplicationService.State 方法。在程序中增加Microsoft.Phone.Shell 命名空间,将程序稍微调整如下。
PhoneApplicationService service = PhoneApplicationService.Current;
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
service.State["textVal"] = testTextBox.Text;
base.OnNavigatedFrom(e);
}
protected override void OnNavigatedT
您可能关注的文档
- TT-004安吉星手机应用二期-目的地搜索及全程音控领航 G.ppt
- VB中WinSock控件的简单应用.doc
- U8V110全产品营销价值-U8移动应用.ppt
- vfp12 建立应用程序.ppt
- VFP应用程序设计实例--学生学籍管理系统.doc
- wahycv小_学三年级数学应用题(200题).doc
- WAS应用程序部署.doc
- Web应用程序设计课后习题.pdf
- WiFi Overview 360 1551手机应用说明.pdf
- Win 8应用程序下载错误解决方法.doc
- 2024年安徽省宣城市烟草专卖局招聘4人高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 2024年安徽省宿州市烟草专卖局招聘7人高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 2024年安徽省国资本运营控股集团限公司社会公开招聘16人高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 2024年安徽省巢湖市重点工程管理局招聘10人历年高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 2024年安徽省滁州市一事业单位委托招聘劳务派遣工作人员5人历年高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 2024年安徽省合肥汽车客运限公司公开招聘高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 2024年安徽省池州东至县公务车辆管理服务中心招聘6人历年高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 2024年安徽省池州市政务服务中心招聘历年高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 2024年安徽省淮南毛集实验区财政局招聘历年高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 2024年安徽省滁州市定远县城乡规划局招聘26人历年高频考题难、易错点模拟试题(共500题)附带答案详解.docx
1亿VIP精品文档
相关文档
最近下载
- 针灸养生康复技术(中医养生康复技术).pdf
- 济南会计继续教育“总账会计”模拟试题.docx VIP
- 轻工制造行业专题:中粮包装收购稳步推进,格局改善提升溢价能力-240310-国联证券-13页.pdf
- 【新高考英语读后续写】模拟专练1-100(翻译+范文)共440页.pdf
- 恒达智慧基于雷视融合的城市路口智能配时系统.docx VIP
- 消防维保工作总结.docx VIP
- 测绘项目投标技术文件范例1:500数字测图项目.doc
- 人性的不同展演——《阿Q正传》《边城》比较阅读高中语文统编版选择性必修 下册.pptx
- 党支部书记培训班测试题【附答案】.docx VIP
- 大智慧:超级移动筹码分布实战教程.pdf
文档评论(0)