WPF、Prism 如何 link 视图和 URI

WPF, How Prism link Views and URI

我正在学习 Prism,我不明白如何使用 URI 完成导航。在此 documentation example, the code on github 使用:

private void Button_Click(object sender, RoutedEventArgs e)
{            
    this.regionManager.RequestNavigate(RegionNames.MainContentRegion, calendarViewUri);
}

URI 声明如下:

private static Uri calendarViewUri = new Uri("CalendarView", UriKind.Relative);

在代码中声明了一个CalendarView.xaml,但是link是如何完成的呢? Prism 是否只是查看 URI 并尝试找到匹配的视图名称,然后将其加载到区域中?

如果我的假设是正确的,那么URI和View之间就不需要注册link了。但是,如果重命名视图怎么办,这意味着导航将被破坏,对吗?

对于 "missing link",查看 ViewSwitchingNavigation.Calendar/CalendarModule.cs,这是初始化日历模块的地方,即它让应用程序的其余部分知道所有内容的地方:

this.unityContainer.RegisterTypeForNavigation<CalendarView>();

这基本上是说“当被要求导航到 'CalendarView'时,创建一个 CalendarView的实例” .