如何在加载时导航到用户控件?

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