我想选择要加载哪个用户控件但我的MainWindowView尚未加载,因此区域管理器不知道任何区域,我该如何实现?
我的引导程序看起来像这样:
protected override DependencyObject CreateShell()
{
return this.Container.Resolve<MainWindowView>();
}
protected override void InitializeShell()
{
Application.Current.MainWindow.Show();
}
protected override void ConfigureContainer()
{
base.ConfigureContainer();
this.Container.RegisterTypeForNavigation<WorkTypeSelectionView>();
}
和我的viewmodel:
public MainWindowViewModel(IEventAggregator eventAggregator, IRegionManager regionManager)
{
this.eventAggregator = eventAggregator;
this.regionManager = regionManager;
this.AuthenticateUser();
if (this.LoggedUser.AvailableWorkTypes.Count > 1)
{
this.Navigate(nameof(WorkTypeSelectionView));
}
}
private void Navigate(string obj)
{
this.regionManager.RequestNavigate(DefaultContentRegion, obj);
}
提前感谢!
修改
猜猜我问的是错误的问题,发现这个https://stackoverflow.com/a/7887936/171136仍然想探索其他选择。谢谢!
答案 0 :(得分:1)
您可以将View Discovery与regionManager.RegisterViewWithRegion("RegionName", typeof(View));
一起使用。创建区域后,它将自动注入视图。