我的任务是创建一个类似向导的应用程序,该应用程序具有许多视图(UserControls),可根据工作流动态加载和卸载。从工作流程的任何一点,我都需要能够跳转到另一个View。在概念上,向导将根据当前视图中执行的操作知道接下来要加载的视图...就像状态机一样。
我正在寻找有关如何入门的一些指导。这是一个WPF桌面应用程序,目前的计划是使用Prism和Autofac。我可以在这个计划中摇摆不定,但我需要有一些很好的推理。
具体来说,Autofac是否遵循ServiceLocator的概念?如果没有,我如何识别并加载下一个视图?
我希望我的MainWindow将包含一个ContentControl,并且Content属性将绑定到" ActiveState"将保存对将映射到View的ModelView的引用的属性。然后,将根据工作流发送给我的位置更改此ActiveState属性。
提前感谢您的帮助。
答案 0 :(得分:0)
具体来说,Autofac是否遵循ServiceLocator的概念?
不确定您的意思,但Autofac支持CommonServiceLocator。但是,你不想使用服务定位器反模式吗?
如果没有,我该如何识别并加载下一个视图?
识别应该是你的状态机的工作。加载它是通过IRegionManager.RequestNavigate
完成的。作为旁注:您不需要先查看,您也可以导航到视图模型并将视图作为数据模板(以防万一您喜欢我并喜欢控制模板+用户控制的数据模板。)