Ícones de página com guias no Windows
Essa plataforma específica da Plataforma Universal do Windows permite que os ícones de página sejam exibidos em uma TabbedPage
barra de ferramentas e fornece a capacidade de especificar opcionalmente o tamanho do ícone. Ele é consumido em XAML definindo a propriedade anexada TabbedPage.HeaderIconsEnabled
como true
e, opcionalmente, definindo a propriedade anexada TabbedPage.HeaderIconsSize
como um Size
valor:
<TabbedPage ...
xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core"
windows:TabbedPage.HeaderIconsEnabled="true">
<windows:TabbedPage.HeaderIconsSize>
<Size>
<x:Arguments>
<x:Double>24</x:Double>
<x:Double>24</x:Double>
</x:Arguments>
</Size>
</windows:TabbedPage.HeaderIconsSize>
<ContentPage Title="Todo" IconImageSource="todo.png">
...
</ContentPage>
<ContentPage Title="Reminders" IconImageSource="reminders.png">
...
</ContentPage>
<ContentPage Title="Contacts" IconImageSource="contacts.png">
...
</ContentPage>
</TabbedPage>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
public class WindowsTabbedPageIconsCS : Xamarin.Forms.TabbedPage
{
public WindowsTabbedPageIconsCS()
{
On<Windows>().SetHeaderIconsEnabled(true);
On<Windows>().SetHeaderIconsSize(new Size(24, 24));
Children.Add(new ContentPage { Title = "Todo", IconImageSource = "todo.png" });
Children.Add(new ContentPage { Title = "Reminders", IconImageSource = "reminders.png" });
Children.Add(new ContentPage { Title = "Contacts", IconImageSource = "contacts.png" });
}
}
O TabbedPage.On<Windows>
método especifica que esse específico da plataforma só será executado na Plataforma Universal do Windows. O TabbedPage.SetHeaderIconsEnabled
método, no Xamarin.Forms.PlatformConfiguration.WindowsSpecific
namespace, é usado para ativar ou desativar os ícones de cabeçalho. Opcionalmente, o TabbedPage.SetHeaderIconsSize
método especifica o tamanho do ícone de cabeçalho com um Size
valor.
Além disso, a TabbedPage
classe no namespace também tem um EnableHeaderIcons
método que habilita ícones de cabeçalho, um DisableHeaderIcons
método que desabilita ícones de cabeçalho e um IsHeaderIconsEnabled
método que retorna um boolean
valor que indica se os Xamarin.Forms.PlatformConfiguration.WindowsSpecific
ícones de cabeçalho estão habilitados.
O resultado é que os ícones de página podem ser exibidos em uma barra de TabbedPage
ferramentas, com o tamanho do ícone sendo opcionalmente definido para um tamanho desejado: