Xamarin.forms 未加载带有MvvmCross 5.7第一视图的Xamarin表单

Xamarin.forms 未加载带有MvvmCross 5.7第一视图的Xamarin表单,xamarin.forms,mvvmcross,Xamarin.forms,Mvvmcross,我有一个Xamarin应用程序和MvvmCross 5.7,并希望将其完全移动到Xamarin表单。它按预期构建和启动,但未加载第一个页面 我基于此模板创建了项目: 我还创建了一个测试项目,以查看现有项目是否存在问题: 有人能指出我缺少什么吗?添加一个从MvxSplashScreenActivity继承的SplashScreen活动,并使用方法覆盖: protected override void TriggerFirstNavigate() { StartAc

我有一个Xamarin应用程序和MvvmCross 5.7,并希望将其完全移动到Xamarin表单。它按预期构建和启动,但未加载第一个页面

我基于此模板创建了项目:

我还创建了一个测试项目,以查看现有项目是否存在问题:


有人能指出我缺少什么吗?

添加一个从MvxSplashScreenActivity继承的SplashScreen活动,并使用方法覆盖:

    protected override void TriggerFirstNavigate()
    {
        StartActivity(typeof(MainActivity));
        base.TriggerFirstNavigate();
    }
或者将以下行添加到MainActivity中的OnCreate方法:

        var startup = Mvx.Resolve<IMvxAppStart>();
        startup.Start();
        InitializeForms(bundle);
var startup=Mvx.Resolve();
startup.Start();
初始化形式(束);

您不需要在MainActivity中调用
startup.Start()
,也不需要初始化xamarin表单。现在已经为您完成了(检查
mvxformsappcompativity
类中的
RunAppStart
方法)

快速浏览一下您的GitHub repo,您似乎没有使用
[MvxContentPagePresentation()]
属性(例如)来装饰视图(即
WelcomView
)。将它添加到您的
WelcomeView.xaml.cs
文件中,并检查是否有帮助


如果是一个新项目,您可能需要考虑使用MvvmCross()的最新版本。有一个很棒的

我想是MvvmCross 6.0而不是5.7?在5.7版本分支中,如果没有启动屏幕,则会根据需要提到startup.start()。该项目只是一个现有项目的最小测试示例,我想从嵌入式表单迁移到完整的xamarin表单。我也看过MvvmCross 6.0。但是我使用AutoFac,并且Extras库目前尚未更新:)@NPadrutt否,对于5.7和6.0版本,您无需在
MainActivity
中调用
Start
。Martjin的github示例现在已经过时,所以不要将其作为示例。如果您想了解如何使用MvvmCross完成工作,请查看mh,我明白了。谢谢你的提示。实际上startup.start()是从5.7版本开始的:嗯,你说得对,上面有这样的评论。但是,您在项目中使用的是SplashScreen,因此这不适用。不管怎样,我做了一个公关,修正了你的回购协议——我测试过了,效果很好。