所以我有一个场景,我想实现一个从 UserControl 派生的 WPF NavigationControl。在那个 NavigationControl 上,我有两个要求,处理后退/前进导航的历史记录(足够简单),并且能够直观地呈现从 NavigationFrameBase 类型派生的任何控件。同样从 UserControl 派生的 NavigationFrameBase 可以以多种形式呈现,因为多个控件将从该类型继承,但是 NavigationFrameBase 应该向 NavigationControl 提供一种通知形式,以通知它用户与从 NavigationFrameBase 派生的类型的内容进行交互具有请求了 Navigate 操作,允许 NavigationControl 呈现新的 NavigationFrameBase。
我的问题有两个:
- 设计 NavigationControl 以包含它将呈现的 NavigationFrameBase 实例的最佳方法是什么
- WPF中处理子->父请求系统的正确方法是什么?路由/附加事件似乎是正确的,但我可以看到一个中介模式服务于相同的功能。