【问题标题】:How to Navigate to a user control on load?如何在加载时导航到用户控件?
【发布时间】:2015-10-29 18:39:19
【问题描述】:

我想选择加载哪个用户控件,但我的 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);
    }

提前致谢!

编辑:

我猜我问错了问题,发现这个https://stackoverflow.com/a/7887936/171136 仍然想探索其他选项。谢谢!

【问题讨论】:

    标签: c# .net wpf prism


    【解决方案1】:

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

    【讨论】:

    • 这是什么魔法?有用;既然我已经引起了你的注意,我该如何在用户控件或控件模板中注册区域?
    • 请发表一个新问题
    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多