MainWindowViewModel ctor中的RequestNavigate

问题描述 投票:0回答:1

嗨,我想在应用程序启动时,应用程序自动导航到一个视图,所以我这样使用:

 protected override Window CreateShell()
        {
            return Container.Resolve<MainWindow>();
        }

        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.RegisterForNavigation<MainContent>();

            containerRegistry.RegisterForNavigation<Subscene>();
        }

和在MainWindowViewModel中

public MainWindowViewModel(IRegionManager regionManager)
        {
            _regionManager = regionManager;

            _regionManager.RequestNavigate("ContentRegion", "Subscene", myparameter);
        }

此代码不起作用,没有错误,也没有导航

我的区域存在于另一个名为MainContent的用户控件中>

您好,当应用程序启动时,应用程序会自动导航至视图,因此我使用了这样的方法:受保护的覆盖窗口CreateShell(){return Container.Resolve <...>

wpf prism
1个回答
0
投票

这仅适用于“普通”视图模型,不适用于外壳的视图模型,因为该视图创建得太早。您应该在OnInitialized中进行初始导航。

internal class MyApp : PrismApplication
{
     // ...

     protected override void OnInitialized()
     {
         base.OnInitialized();
         Container.Resolve<IRegionManager>().RequestNavigate("ContentRegion", "Subscene", myparameter);
     }

     // ...
}
© www.soinside.com 2019 - 2024. All rights reserved.