Перейдите к представлению (логину) в ContentRegion (Prism) в App.xaml.cs или в приложении «Запуск» - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь перейти к представлению входа в систему в Prism ContentRegion при запуске приложения.

protected override void RegisterTypes(IContainerRegistry containerRegistry)
    {
        containerRegistry.RegisterForNavigation<Login>("Login");
    }
    protected override void OnInitialized()
    {
        base.OnInitialized();
        var regionManager = Container.Resolve<IRegionManager>();
        regionManager.RequestNavigate("ContentRegion", "Login");

    }

1 Ответ

0 голосов
/ 29 апреля 2020

Похоже, это связано с этой проблемой в PrismLib, где навигация еще не может быть выполнена непосредственно из OnInitialized.

В качестве обходного пути вы можете сделать две вещи, пока исправлено:

  • Использовать RegisterViewWithRegion
  • Или перемещаться только после активации Window:
void Navigate(object sender, object args)
{
    regionManager.RequestNavigate("ContentRegion", "Login");

    Windows.UI.Xaml.Window.Current.Activated -= Navigate;
}

Windows.UI.Xaml.Window.Current.Activated += Navigate;
...