我有:
<ContentPage.ToolbarItems>
<ToolbarItem Text="{Binding [AddPhoto]}" Command="{Binding AddNewPhotoCommand}" Order="Primary" x:TypeArguments="FileImageSource" Icon="{OnPlatform iOS='photo.png', UWP='Assets/photo.png'}"/>
</ContentPage.ToolbarItems>
然后我得到了
在xmlns中找不到Type ToolbarItem http://xamarin.com/schemas/2014/forms
如果我在x:TypeArguments="FileImageSource"
之后删除了整个部分
<ToolbarItem Text="{Binding [AddPhoto]}" Command="{Binding AddNewPhotoCommand}" Order="Primary"/>
那很好,没有错误。
我将项目升级到Xamarin 3.3.0,而我从更改
<ToolbarItem Text="{Binding [AddPhoto]}" Command="{Binding AddNewPhotoCommand}" Order="Primary" >
<ToolbarItem.Icon>
<OnPlatform x:TypeArguments="FileImageSource">
<On Platform="iOS" Value="photo.png"/>
<On Platform="UWP" Value="Assets/photo.png"/>
</OnPlatform>
</ToolbarItem.Icon>
</ToolbarItem>
到
<ToolbarItem Text="{Binding [AddPhoto]}" Command="{Binding AddNewPhotoCommand}" Order="Primary" x:TypeArguments="FileImageSource" Icon="{OnPlatform iOS='photo.png', UWP='Assets/photo.png'}"/>
为什么?
我没有错字。
答案 0 :(得分:0)
Check out应该如何使用:
<ContentPage Title="Browse">
<ContentPage.Icon>
<OnPlatform x:TypeArguments="FileImageSource">
<On Platform="iOS">tab_feed.png</On>
<On Platform="Android>tab_feedand.png</On>
<On Platform="UWP>/Images/tab_feed.png</On>
</OnPlatform>
</ContentPage.Icon>
</ContentPage>
将成为:
<ContentPage Title="Browse" Icon="{x:OnPlatform iOS='tab_afeed.png', Android='tab_feedand.png', UWP='/Images/tab_feed.png' />
无需指定x:TypeArguments。
x:typeArguments将泛型的约束类型参数传递给泛型类型的构造函数。因此,它与OnPlatform方法有关,但是您为ToolbarItem指定了它。