未在Xamarin Shell中设置活动Shell项

未在Xamarin Shell中设置活动Shell项,xamarin,xamarin.forms,xamarin.shell,Xamarin,Xamarin.forms,Xamarin.shell,我试图使用Xamarin中新引入的Shell对象来进行导航和子页面,但在设置Shell时遇到了一些问题 这是我的标记: <?xml version="1.0" encoding="UTF-8" ?> <Shell xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:pages="clr-na

我试图使用Xamarin中新引入的Shell对象来进行导航和子页面,但在设置Shell时遇到了一些问题

这是我的标记:

<?xml version="1.0" encoding="UTF-8" ?>
<Shell xmlns="http://xamarin.com/schemas/2014/forms"
       xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
       xmlns:pages="clr-namespace:App.Views.FLMobile"
       FlyoutBehavior="Flyout"
       x:Class="App.Views.FLMobile.AppShell">

    <FlyoutItem Title="MyTabApp" Shell.TabBarIsVisible="False" FlyoutDisplayOptions="AsMultipleItems">
        <ShellContent Title="Bears" IsTabStop="true" Icon="" ContentTemplate="{DataTemplate pages:MainPage}" />
    </FlyoutItem>

    <ShellContent Title="About" ContentTemplate="{DataTemplate pages:MenuPage}" />
</Shell>
我做错了什么

这就是我得到的错误:

System.ArgumentException:'未设置活动外壳程序项。你加了吗 您的Shell中有Shell项目吗?参数名称:ShellItem'


您是否使用最新版本的Xamarin表单

如果没有,我建议你升级到它,因为它有许多错误修复

其次,问题是您直接使用shell内容,而没有弹出项 所以你实际上需要做的是:

<FlyoutItem Title="MyTabApp" Shell.TabBarIsVisible="False" FlyoutDisplayOptions="AsMultipleItems">        
<ShellContent Title="About" ContentTemplate="{DataTemplate pages:MenuPage}" />
</FlyoutItem>

我用您的代码制作了一个示例。它工作得很好。您可以从GitHub下载ShellDemo2:。如果您仍然有问题,您可以在Github上上传一个示例,供我下载和测试。
<FlyoutItem Title="MyTabApp" Shell.TabBarIsVisible="False" FlyoutDisplayOptions="AsMultipleItems">        
<ShellContent Title="About" ContentTemplate="{DataTemplate pages:MenuPage}" />
</FlyoutItem>