gpt4 book ai didi

Xamarin.Forms Shell - 除非在 内,否则无法使用 ShellContent?

转载 作者:行者123 更新时间:2023-12-02 18:31:37 28 4
gpt4 key购买 nike

我已下载并打开 Xamarin.Forms Shell 示例项目 Xanimals来自 Microsoft,但它从 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 文件中的 FlyoutItem 下。

以下是 Microsoft Xanimals 示例项目的相关代码部分:

<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://learn.microsoft.com/xamarin/xamarin-forms/app-fundamentals/shell" />

这是上述代码的屏幕截图,其中智能感知强调了问题区域:

xanimals_sample

作为引用,我尝试将 Xamarin.Forms NuGet 引用更新到 4.0.0.425677 和 4.1.0.673156 之间的每个版本,但仍然没有成功。我使用的是 Visual Studio Professional 2019 版本 16.1.2.NET Framework 版本 4.7.03056

Microsoft 的 Xanimals 示例代码是否错误,或者我遗漏了什么?同样,我直接使用 Xanimals 示例代码,没有任何更改。

编辑:Microsoft 自己的 Shell 示例解释如下:

ShellContent, which represents the ContentPage objects in your application. Every ShellContent object is a child of a Tab object. When more than one ShellContent object is present in a Tab, the objects will be navigable by top tabs.

然而,尽管断言每个 ShellContent 对象都是 Tab 对象的子对象,但他们的代码示例似乎与此规则相矛盾(在屏幕截图中,ShellContent 位于 Tab 之外,还有 FlyoutItem 之外的内容) )。

最佳答案

我也遇到了同样的问题,我尝试了以下方法:

  1. 清理解决方案并重建它。

  2. 删除 objbin 文件并重新启动 Visual Studio。

两种方法都会忽略警告并运行它。它可以工作,也许问题稍后会得到解决。

关于Xamarin.Forms Shell - 除非在 <Tab> 内,否则无法使用 ShellContent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57526840/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com