如何解决xamarin 应用程序标记关于不支持标记的错误
已完成在 android 上构建我的 xamarin 应用程序,现在转移到 ios 进行测试。
Obv 布局不同所以尝试整理一下。
在安卓上...
<ContentPage.toolbaritems>
<ToolbarItem Name="shoppingCartImg" Icon="shoppingCartImg.png" Priority="0" Order="Primary" Activated="ShoppingCartpressed"/>
<ToolbarItem Text="{Binding NoItemsInShoppingCart}" Priority="0" Order="Primary" Activated="ShoppingCartpressed"/>
</ContentPage.toolbaritems>
我在主网格内的 stackLayout 中添加了 <Image Source="shoppingCartImg.png"/>
并且它出现了,所以问题出在工具栏项上。我在网上找到将代码放在单独的标签中,如下所示:
<ContentPage.Content>
<OnPlatform x:TypeArguments="View">
<OnPlatform.iOS>
...
</OnPlatform.iOS>
<OnPlatform.Android>
...
</OnPlatform.Android>
<OnPlatform.WinPhone>
...
</OnPlatform.WinPhone>
</OnPlatform>
<ContentPage.toolbaritems>
<OnPlatform x:TypeArguments="View">
<OnPlatform.iOS>
<Image Source="shoppingCartImg.png">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="OnImageNaMetapped"
NumberOfTapsrequired="1" />
</OnPlatform.iOS>
<OnPlatform.Android>
<ToolbarItem Name="shoppingCartImg" Icon="shoppingCartImg.png" Priority="0" Order="Primary" Activated="ShoppingCartpressed"/>
</OnPlatform.Android>
</OnPlatform>
<ToolbarItem Text="{Binding NoItemsInShoppingCart}" Priority="0" Order="Primary" Activated="ShoppingCartpressed"/>
</ContentPage.toolbaritems>
但这会标记 .android 标签内的 toolbarItem 的错误
属性“android”不支持“toolbaritem”类型的值。无法分配指定的值。以下类型应为“查看”
解决方法
我已经在 Xamarin.forms 的 Android 和 iOS 中检查了下面的 Xaml。它可以很好地显示图标。
<ContentPage.ToolbarItems>
<ToolbarItem Name="shoppingCartImg" Icon="shoppingCartImg.png" Priority="0" Order="Primary" Activated="ShoppingCartPressed"/>
<ToolbarItem Text="{Binding NoItemsInShoppingCart}" Priority="0" Order="Primary" Activated="ShoppingCartPressed"/>
</ContentPage.ToolbarItems>
请检查图标路径。你有没有在ios中设置图标(shoppingCartImg.png)?如果添加与 shoppingCartImg
同名的图片,它会在没有具体实现的工具栏中显示该图片。
您可以尝试将图像添加到资产目录图像集。 https://docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/images-icons/displaying-an-image?tabs=windows#adding-images-to-an-asset-catalog-image-set
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。