如何将 Xamarin Forms Shell 集成到 MvvmCross 设置中
How to integrate Xamarin Forms Shell into an MvvmCross setup
我打算将 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
class:
public partial class FormsApp : MvxFormsApplication
{
public FormsApp()
{
InitializeComponent();
//DependencyService.Register<MockDataStore>();
MainPage = new AppShell();
}
}
不幸的是 AppShell.xaml
和 AppShell.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>
我收到一些层次错误:
Content does not support values of type 'FlyoutItem'
那么我应该如何将 Shell 集成到 MvvmCross 应用程序中?
MvvmCross
目前不支持 Xamarin.forms.Shell
。
有关详细信息,请在 GitHub 存储库中查看 related issue。
我打算将 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
class:
public partial class FormsApp : MvxFormsApplication
{
public FormsApp()
{
InitializeComponent();
//DependencyService.Register<MockDataStore>();
MainPage = new AppShell();
}
}
不幸的是 AppShell.xaml
和 AppShell.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>
我收到一些层次错误:
Content does not support values of type 'FlyoutItem'
那么我应该如何将 Shell 集成到 MvvmCross 应用程序中?
MvvmCross
目前不支持 Xamarin.forms.Shell
。
有关详细信息,请在 GitHub 存储库中查看 related issue。