Xamarin.Forms Shell-除非在<;选项卡>;?
我已经从微软下载并打开了Xamarin.FormsShell示例项目,但是它在AppShell.xaml中抛出了构建错误 错误是: 错误XLS0503无法将“ShellContent”类型的值添加到“IList”类型的集合或字典中。Xaminals AppShell.xaml 135 错误XLS0503无法将“MenuItem”类型的值添加到“IList”类型的集合或字典中。Xaminals AppShell.xaml 158 无效类型:预期类型为“ShellSection”,实际类型为“ShellContent” 无效类型:预期类型为“ShellSection”,实际类型为“MenuItem” 当我创建一个新的Xamarin Shell应用程序并遵循Microsoft相应的指南时,我最初发现了这个问题,他们的示例代码描述了将一些ShellContent元素直接放在应用程序的AppShell.xaml文件中的一个弹出项下 以下是Microsoft Xanimals示例项目中的相关代码部分:Xamarin.Forms Shell-除非在<;选项卡>;?,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我已经从微软下载并打开了Xamarin.FormsShell示例项目,但是它在AppShell.xaml中抛出了构建错误 错误是: 错误XLS0503无法将“ShellContent”类型的值添加到“IList”类型的集合或字典中。Xaminals AppShell.xaml 135 错误XLS0503无法将“MenuItem”类型的值添加到“IList”类型的集合或字典中。Xaminals AppShell.xaml 158 无效类型:预期类型为“ShellSection”,实际类型为“She
<FlyoutItem Route="animals"
Title="Animals"
FlyoutDisplayOptions="AsMultipleItems">
<Tab Title="Domestic"
Route="domestic"
Icon="paw.png">
<ShellContent Route="cats"
Style="{StaticResource DomesticShell}"
Title="Cats"
Icon="cat.png"
ContentTemplate="{DataTemplate views:CatsPage}" />
<ShellContent Route="dogs"
Style="{StaticResource DomesticShell}"
Title="Dogs"
Icon="dog.png"
ContentTemplate="{DataTemplate views:DogsPage}" />
</Tab>
<ShellContent Route="monkeys"
Style="{StaticResource MonkeysShell}"
Title="Monkeys"
Icon="monkey.png"
ContentTemplate="{DataTemplate views:MonkeysPage}" />
<ShellContent Route="elephants"
Style="{StaticResource ElephantsShell}"
Title="Elephants"
Icon="elephant.png"
ContentTemplate="{DataTemplate views:ElephantsPage}" />
<ShellContent Route="bears"
Style="{StaticResource BearsShell}"
Title="Bears"
Icon="bear.png"
ContentTemplate="{DataTemplate views:BearsPage}" />
</FlyoutItem>
<ShellContent Route="about"
Style="{StaticResource AboutShell}"
Title="About"
Icon="info.png"
ContentTemplate="{DataTemplate views:AboutPage}" />
<MenuItem Text="Random"
Icon="random.png"
Command="{Binding RandomPageCommand}" />
<MenuItem Text="Help"
Icon="help.png"
Command="{Binding HelpCommand}"
CommandParameter="https://docs.microsoft.com/xamarin/xamarin-forms/app-fundamentals/shell" />
以下是上述代码的屏幕截图,Intellisense强调了问题区域:
作为参考,我尝试将Xamarin.Forms NuGet引用更新到4.0.0.425677和4.1.0.673156之间的每个版本,但仍然没有成功。
我使用的是Visual Studio Professional 2019版本16.1.2和.NET Framework版本4.7.03056
微软的Xanimals示例代码是错误的,还是我遗漏了什么?
同样,我使用的是Xanimals示例代码,没有任何更改
编辑:
Microsoft自己的Shell示例解释了以下内容:
ShellContent,它表示应用程序中的ContentPage对象。每个ShellContent对象都是选项卡对象的子对象。当一个选项卡中存在多个ShellContent对象时,这些对象将可由顶部选项卡导航
然而,尽管断言每个ShellContent对象都是Tab对象的子对象,但它们的代码示例似乎与此规则相矛盾(在屏幕截图中,标签之外的ShellContent,以及弹出项之外的ShellContent)。我遇到了同样的问题,我尝试了以下方法:
obj
和bin
文件并重新启动visual studio这两种方法都会忽略警告并运行它。这是可行的,也许问题会在以后得到解决。我遇到了相同的问题。因此,这是一个智能问题,因为项目可以顺利编译和运行。您是如何让应用程序在出现错误的情况下运行的?我的项目可以很好地构建,但部署失败是因为这些错误。@JakeSteed奇怪的是,我只给出了警告,没有给出错误