我在想如何最好地在所有wpf窗口/视图之间共享菜单。
我的应用程序不太适合导航模型,因此可能会使用Ribbon控件。
我倾向于创建一个用户控件来制作菜单,并将其拖放到每个视图中,但我也看过Josh Smith的msdn文章,他加载了用户控件。
还有其他选项或已确立的最佳实践吗?
提前感谢。
我最终实现的方式与Josh Smith类似,但我简化了一些东西。
所有视图都是用户控件,除了MainWindow。 MainWindow包含一个ContentTemplate,它绑定到一个属性,该属性保存对ViewModel中单个UserControl的引用。 然后,我有一个ApplicationController负责控制视图和ViewModel生命周期。 每个视图使用的ViewModel基类包含对IApplicationController的引用。 然后,MainWindowViewModel调用ApplicationController来加载新视图等。
对于这种方法仍不完全确定,因此欢迎任何进一步的建议。
这是我可能会尝试的方法:
ISharedMenu
接口ISharedMenu
作为其 DataContext 的 UserControl。ISharedMenu
接口。