Navigation Caliburn.Micro中的导航-如何替换整个窗口
我在Caliburn.Micro中阅读了一些关于导航如何使用Navigation Caliburn.Micro中的导航-如何替换整个窗口,navigation,caliburn.micro,Navigation,Caliburn.micro,我在Caliburn.Micro中阅读了一些关于导航如何使用屏幕和导体的文章,但它们似乎不符合我的要求 我的WPF应用程序有3个视图: 当用户启动应用程序时,将显示一个欢迎屏幕,应用程序将在后台执行一些启动工作 当应用程序完成启动过程时,它会导航到一个列表视图 当用户单击列表视图中的项目时,它将进入详细视图 但是,当在不同视图之间导航时,我需要替换整个窗口,当视图中有一个ContentControl并替换视图的部分时,Conductor似乎可以工作,现在我需要销毁前一个视图,并用一个新视图替换它
屏幕
和导体
的文章,但它们似乎不符合我的要求
我的WPF应用程序有3个视图:
ContentControl
并替换视图的部分时,Conductor
似乎可以工作,现在我需要销毁前一个视图,并用一个新视图替换它,没有ContentControl,没有MDI应用程序,那么实现这个简单的导航我会错过什么呢
谢谢为什么这不能是一个
ShellView模型
/ShellView
,带有一个内容控件
,可以使用整个shell窗口?或者,您可以查看Caliburn.Micro提供的类。这是我使用的一个方法,但是当我从列表视图导航到详细视图时,我必须从ShellViewModel
调用navigate
方法,这引入了ListViewModel
和ShellViewModel
之间的依赖关系,结果是我的每个ViewModel都依赖于ShellViewModel
,这看起来不太好:(,因此我想知道是否有更自由的方式在视图之间导航,我想尝试一下WindowManager
,谢谢您的列表视图模型/详细视图模型不需要依赖于shell视图模型。对于视图模型间的通信,您可以使用标准的.NET事件(从shell视图模型订阅列表视图模型上的事件)或使用Caliburn.Micro的事件聚合器。