我们正在使用PRISM和MEF构建WPF应用程序。在应用程序中,用户将通过浏览包含大量元数据的“项目文件”开始。
根据项目元数据,将创建一组视图及其相关视图模型,用户可以查看/创建/操作项目数据。
然后,用户可以打开另一个项目文件,此时应该完全重新初始化应用程序,就像用户重新启动应用程序一样,这是第一个打开的项目文件。原因是不同的项目文件可能会导致创建非常不同的视图。
如何在WPF / PRISM / MEF中完成?如果它是一个常规的WinForms应用程序,我们可以解构/拆除基础“应用程序表单”,如果你愿意,并通过实例化一个新的应用程序来重新开始,使用项目元数据作为上下文。
有没有办法在WPF / PRISM / MEF中做类似的事情?不同类型的项目之间的行为和所需的初始化对于'哦,只是换掉模型并让视图模型触发视图的属性更改事件来刷新自己的方法来说太复杂了。
答案 0 :(得分:0)
如何在Application OnStartUp上实例化一个新的Bootstrapper并重新运行它?我测试过它似乎有效,但在你的情况下这还够吗?