Xamarin 3.3.0表单错误:在xmlns中找不到类型ToolbarItem

时间:2018-10-22 07:52:34

标签: c# xamarin

我有:

<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'}"/>

为什么?

我没有错字。

1 个答案:

答案 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指定了它。