0

Visual Studio for Mac 用の Prism Template Pack を使用して新しいプロジェクトを生成し (共有と pcl の両方を試しました)、7.0.0.340-ci に更新しています。ビュー モデルへのビューの登録は慣例で行われますか?

このアプリを実行しようとすると、次の例外がスローされます。Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Application windows are expected to have a root view controller at the end of application launch.

これがメインアプリのコードです。

    public partial class App : PrismApplication
    {
        public App(IPlatformInitializer initializer = null) : base(initializer) { }

        protected override void OnInitialized()
        {
            InitializeComponent();

            NavigationService.NavigateAsync("MainPage?title=Hello%20from%20Xamarin.Forms");
        }

        protected override void RegisterTypes(Prism.Ioc.IContainerRegistry containerRegistry)
        {
            Prism.Mvvm.ViewModelLocationProvider.Register<MainPage,MainPageViewModel>();
        }

        //protected override void RegisterTypes()
        //{
        //    Container.RegisterTypeForNavigation<MainPage>();
        //}
    }

署名に互換性がないため、最終行をコメントアウトしてオーバーライドをやり直す必要がありました。

Container.RegisterTypeForNavigation はどこに行きましたか、それは何ですか?

また、RegisterTypes メソッドのコードなしで試してみました。

NavigationService プロパティを調べるデバッグ セッションでは、MainPage が null であると表示されます。

4

1 に答える 1