WPF, Prism如何链接视图和URI
本文关键字:链接 视图 URI Prism 何链接 WPF | 更新日期: 2023-09-27 18:14:20
我正在学习Prism,我不明白导航是如何用URI完成的。在这个文档示例中,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,但是链接是如何完成的呢?Prism只是查看URI并尝试找到匹配的视图名称,然后将其加载到区域中吗?
如果我的假设是正确的,就不需要注册URI和View之间的链接。但如果视图被重命名,那就意味着导航会被破坏,对吗?
对于"missing link",查看ViewSwitchingNavigation.Calendar/CalendarModule.cs
,这是日历模块初始化的地方,也就是说,它使应用程序的其余部分都知道它的所有内容:
this.unityContainer.RegisterTypeForNavigation<CalendarView>();
这基本上是说"当被要求导航到 'CalendarView'时,创建一个 CalendarView
的实例"。