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

时间:2015-10-29 18:39:19

标签: c# .net wpf prism

我想选择要加载哪个用户控件但我的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仍然想探索其他选择。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将View Discovery与regionManager.RegisterViewWithRegion("RegionName", typeof(View));一起使用。创建区域后,它将自动注入视图。