我正在创建“布局”视图,其中包括几个“ContentControl”元素,这导致我需要注册一个“默认”控件以在启动时显示。当我意识到“RegisterViewWithRegion”可以解决此问题时,我不确定应该在哪里使用它?
目前,我一直在布局的ViewModel构造函数中使用“RegisterViewWithRegion”,但这会导致第二次构造ViewModel(第二次)时出现“ArgumentException:给定名称的区域已注册:AuthContentRegion”的错误。
视图:
基本上,我想要的是将默认的
目前,我一直在布局的ViewModel构造函数中使用“RegisterViewWithRegion”,但这会导致第二次构造ViewModel(第二次)时出现“ArgumentException:给定名称的区域已注册:AuthContentRegion”的错误。
视图:
<DockPanel LastChildFill="True">
<ContentControl prism:RegionManager.RegionName="{x:Static core:RegionNames.NavRegion}" DockPanel.Dock="Top" Margin="5" />
<ContentControl prism:RegionManager.RegionName="{x:Static core:RegionNames.AuthContentRegion}" Margin="5" />
</DockPanel>
视图模型:
public AdminViewModel(IRegionManager regionManager)
{
regionManager.RegisterViewWithRegion(RegionNames.NavRegion, typeof(Views.AdminNavView));
regionManager.RegisterViewWithRegion(RegionNames.AuthContentRegion, typeof(Views.RailwayListView));
}
基本上,我想要的是将默认的
UserControl
注册为ContentControl
/Region
,并且在重新构造View
/ViewModel
时不会出现任何异常。