Partilhar via


Ícones TabbedPage no Windows

Esse específico da plataforma 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 ícones de cabeçalho. O TabbedPage.SetHeaderIconsSize método opcionalmente especifica o tamanho do ícone de cabeçalho com um Size valor.

Além disso, a TabbedPageXamarin.Forms.PlatformConfiguration.WindowsSpecific 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 í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:

Ícones TabbedPage habilitados específicos da plataforma