Mvvm 为什么可以使用视图';基于PRISM视图的导航中的逻辑名称?

Mvvm 为什么可以使用视图';基于PRISM视图的导航中的逻辑名称?,mvvm,prism,Mvvm,Prism,所以我对PRISM是一个完全的新手,我只是想了解所有的概念,其中之一就是导航。我已经将我的所有视图分成了单独的模块(以及它们的vm),现在我需要能够在它们之间切换 显然,我需要使用RegionManager.RequestNavigate并传入视图的逻辑名称。我只是想知道这是如何被解耦的,因为模块现在相互了解(即使只是名字)。因此,如果我决定进行更改或在另一个项目中使用该模块,它将不再工作 除非我完全误解了这一点。我认为这样做的目的是,虽然您必须有一个视图名称来导航,但这就是需要知道的全部内容。

所以我对PRISM是一个完全的新手,我只是想了解所有的概念,其中之一就是导航。我已经将我的所有视图分成了单独的模块(以及它们的vm),现在我需要能够在它们之间切换

显然,我需要使用RegionManager.RequestNavigate并传入视图的逻辑名称。我只是想知道这是如何被解耦的,因为模块现在相互了解(即使只是名字)。因此,如果我决定进行更改或在另一个项目中使用该模块,它将不再工作


除非我完全误解了这一点。

我认为这样做的目的是,虽然您必须有一个视图名称来导航,但这就是需要知道的全部内容。因此,如果我将“StockViewer”作为一个视图,我可以将任何“StockViewer”模块放入其中,而其他应用程序都不会知道它们是完全不同的

对我来说,我基本上创建了一个名称服务,我可以调用它并拥有一个名称的对象表示形式,因此我不需要费劲地指出一个名称,也不需要花费数小时来解决为什么没有加载某些内容的问题