如何在加载时导航到用户控件?
How to Navigate to a user control on load?
我想选择加载哪个用户控件,但我的 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>();
}
和我的视图模型:
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);
}
提前致谢!
编辑:
我猜我问错了问题,发现这个 仍然想探索其他选项。谢谢!
您可以通过 regionManager.RegisterViewWithRegion("RegionName", typeof(View));
使用 View Discovery。 region创建的时候会自动注入view
我想选择加载哪个用户控件,但我的 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>();
}
和我的视图模型:
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);
}
提前致谢!
编辑:
我猜我问错了问题,发现这个 仍然想探索其他选项。谢谢!
您可以通过 regionManager.RegisterViewWithRegion("RegionName", typeof(View));
使用 View Discovery。 region创建的时候会自动注入view