构建导航应用与WPF浏览器技术全解析
在开发导航应用时,页面状态的存储和恢复是一项重要任务。对于非KeepAlive页面,像文本框这类控件会自动将其状态存储在JournalEntry中,开发者只需处理特定的数据即可。此外,还可以基于NavigationService事件构建自定义机制,当进入或离开页面时会触发一系列事件,借此可以进行页面清理或重新创建等操作,但这些事件是NavigationService通用的,在页面层使用不太方便。
页面函数
在常规应用中,向用户获取信息时弹出对话框是常见操作,但使用对话框存在一些弊端。一方面,这有点违背归纳式用户界面(UI)的理念;另一方面,在基于Web部署应用时,浏览器托管的应用通常没有弹出对话框的权限,这是为了防止恶意广告软件利用WPF弹出广告。
以字典应用为例,若要添加设置特定字典的功能,又不想使用对话框,可创建一个设置页面并提供导航方式,但需要解决返回原页面的问题。导航应用通过页面函数能很好地处理这个问题。页面函数就像一个可调用的子程序,调用时应用会导航到该页面,页面完成操作后,会自动返回调用页面,无需在子程序页面编写特殊逻辑,也不会影响前后导航处理。
创建页面函数
以设置页面为例,创建设置页面函数,这是添加新项列表中的一个选项,这里将其命名为SettingsPageFunction。创建页面函数时会有一个设计器,可按需求布局页面。
需要为“确定”和“取消”按钮添加点击处理程序,并为页面的加载事件添加处理程序。以下是设置页面的完整代码:
using System; ...Rest of usi