【问题标题】:How to integrate Xamarin Forms Shell into an MvvmCross setup如何将 Xamarin Forms Shell 集成到 MvvmCross 设置中
【发布时间】:2021-07-01 06:44:32
【问题描述】:

我打算将 Xamarin Forms 与 MvvmCross 一起使用。

根据他们的tutorial,需要将App.cs文件添加到项目中:

 public class App : MvxApplication
  {
    public override void Initialize()
    {
      //Mvx.IoCProvider.RegisterType<ICalculationService, CalculationService>();

      RegisterAppStart<MainViewModel>();
    }
  }

那么原来的App.xaml.cs就可以作为MvxFormsApplication类:

public partial class FormsApp : MvxFormsApplication
{
  public FormsApp()
  {
    InitializeComponent();
    //DependencyService.Register<MockDataStore>();
    MainPage = new AppShell();
  }
}

不幸的是AppShell.xamlAppShell.xaml.cs文件添加了很多必要的UI设置代码,它最初是由App.xaml.cs添加的:

 MainPage = new AppShell();

由于 MvvmCross 接管了整个初始化,我不知道如何集成弹出框和其他基本 UI 代码。

如果我像这样将它们放在主视图中:

<views:MvxContentPage.Content>
  <FlyoutItem Title="About" Icon="icon_about.png">
    <ShellContent Route="AboutPage" ContentTemplate="{DataTemplate local:AboutPage}" />
  </FlyoutItem>

我遇到了一些层级错误:

内容不支持“FlyoutItem”类型的值

那么我应该如何将 Shell 集成到 MvvmCross 应用程序中呢?

【问题讨论】:

标签: c# xamarin.forms mvvmcross


【解决方案1】:

MvvmCross 目前不支持Xamarin.forms.Shell

有关更多信息,请查看其 GitHub 存储库中的 related issue

【讨论】:

  • 这篇文章可以作为评论,对吧?
  • @AbhishekGurjar 这看起来像是对我的回答。否定(告诉某人某事是不可能的)仍然是一个答案。
  • @MarkRotteveel hmm 承认,但我认为如果 op 没有提供任何替代解决方案作为答案,这可能适合作为评论。
  • @AbhishekGurjar 好吧,这个问题没有替代解决方案。这是事实,它至今不支持。
  • @AbhishekGurjar 没有解决方法并不能成为评论,它仍然是一个答案。如果您认为某件事的答案不好,那么正确的“回应”是投反对票。评论是为了要求澄清,建议改进问题(或答案)或切线观察。另见Is “this is not possible” an acceptable answer?
猜你喜欢
  • 2019-07-01
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 2019-11-10
  • 2019-11-25
  • 1970-01-01
相关资源
最近更新 更多