我已经涉足WPF几个月了,我已经成功掌握了大部分内容和原因/什么时候使用它但我仍然在努力看到PageFunction类的价值。
有人可以给我一个简单但具体的例子,说明PageFunction何时可能是这项工作的正确工具?
答案 0 :(得分:4)
页面中的PageFunction =桌面应用程序中的对话框(没有页面)。
每次在桌面应用程序中使用对话框时,都可以使用PageFunction,并且希望为程序开发类似webnavigation的行为。
答案 1 :(得分:4)
主要是,似乎是在基于任务的UI中形式化分支的模式。
假设您有一个带有可选功能复选标记的表单,但此功能需要额外的信息,这些信息太复杂,无法放在同一页面上。 使用此模式允许将信息收集委托给另一个组件。
此外,应用了一种策略模式,因为你可以让各种子系统能够收集相同的信息,所有子系统都继承了PageFunction(T),这样实际调用它们的代码就不需要知道有关它的任何细节。
这些只是一些想法,我还没有完全研究过它。
答案 2 :(得分:1)
页面功能启用的主要功能是实现具有子任务和管理返回堆栈的工作流程。
如果您只是依赖页面到页面导航,则很难暂停当前导航路径,执行其他操作,然后返回并继续。 PageFunctions通过返回和展开导航堆栈的概念实现了这一点。
我在这里提供了一些现实世界的例子:http://www.paulstovell.com/wpf-navigation