WPF-PageFunctions。为什么需要它们?

WPF-PageFunctions。为什么需要它们?,wpf,pagefunction,Wpf,Pagefunction,我已经涉猎WPF几个月了,我已经设法掌握了WPF的大部分内容以及使用它的原因/时间,但我仍然在努力了解PageFunction类的价值 有人能给我一个简单但具体的例子,说明什么时候PageFunction可能是该作业的正确工具吗?桌面应用程序(无页面)中的page=对话框中的PageFunction 每次在桌面应用程序中使用对话框时,您都可以使用PageFunction,并且您希望为程序开发类似webnavigation的行为。主要是,它似乎是一种将基于任务的UI中的分支形式化的模式 假设您有一

我已经涉猎WPF几个月了,我已经设法掌握了WPF的大部分内容以及使用它的原因/时间,但我仍然在努力了解PageFunction类的价值


有人能给我一个简单但具体的例子,说明什么时候PageFunction可能是该作业的正确工具吗?

桌面应用程序(无页面)中的page=对话框中的PageFunction


每次在桌面应用程序中使用对话框时,您都可以使用PageFunction,并且您希望为程序开发类似webnavigation的行为。

主要是,它似乎是一种将基于任务的UI中的分支形式化的模式

假设您有一个表单,其中有一个可选功能的复选标记,但是该功能需要额外的信息,这些信息太复杂,无法放在同一页面上。 使用此模式允许将信息收集委托给另一个组件

此外,还应用了一种策略模式,因为您可以让不同的子系统收集相同的信息,所有子系统都继承了PageFunction(of T),因此实际调用这些子系统的代码不需要知道任何细节


这些只是一些想法,我还没有仔细研究过。

页面功能支持的主要功能是通过子任务实现工作流和管理返回堆栈

如果您仅仅依靠页面间导航,很难暂停当前导航路径,执行其他操作,然后返回并继续。PageFunctions通过返回和展开导航堆栈的概念实现了这一点

我在这里提供了一些真实的例子: