鉴于此原始代码,我正试图隐藏Android上的图标:
<NavigationPage Title="Page" Icon="page_icon.png">
<x:Arguments>
<views:MyPage />
</x:Arguments>
</NavigationPage>
我试图以不同的方式使用OnPlatform,但无法使其工作。以下是我尝试过的一些事情:
<NavigationPage Title="Page">
<NavigationPage.Icon>
<OnPlatform x:TypeArguments="x:String">
<OnPlatform.iOS>page_icon.png</OnPlatform.iOS>
<OnPlatform.Android>{x:Null}</OnPlatform.Android>
</OnPlatform>
</NavigationPage.Icon>
<x:Arguments>
<views:MyPage />
</x:Arguments>
</NavigationPage>
这产生了错误:
字典中没有给定的密钥。
我也试过这个:
<NavigationPage Title="Rater">
<OnPlatform
x:Key="Icon"
x:TypeArguments="x:String"
iOS="tab_feed.png"
Android="{x:Null}"
/>
<x:Arguments>
<views:MyPage />
</x:Arguments>
</NavigationPage>
哪个运行,但iOS上没有显示图标。
答案 0 :(得分:1)
不确定如何处理图标,这可能是一个单独的问题,但OnPlatform经过重新设计。以下是您现在使用它的方式:
<OnPlatform x:Key="SwitchOnColor" x:TypeArguments="Color" >
<On Platform="iOS,Android" >#0000FF</On>
<On Platform="UWP">#FF0000</On>
</OnPlatform>
答案 1 :(得分:1)
(代表OP发布)。
在Yuri S的例子的帮助下,我能够创建在iOS和Android上按预期工作的标记。就是这样。
<NavigationPage.Icon>
<OnPlatform x:Key="SwitchOnIcon" x:TypeArguments="FileImageSource">
<On Platform="iOS">tab_feed.png</On>
</OnPlatform>
</NavigationPage.Icon>