Iconos de TabbedPage en Windows

Descargar ejemploDescargar el ejemplo

Esta Plataforma universal de Windows específica de la plataforma permite mostrar iconos de página en una TabbedPage barra de herramientas y proporciona la posibilidad de especificar opcionalmente el tamaño del icono. Se consume en XAML estableciendo la TabbedPage.HeaderIconsEnabled propiedad trueadjunta en y estableciendo opcionalmente la TabbedPage.HeaderIconsSize propiedad adjunta en un 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, se puede consumir desde C# mediante la API fluida:

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" });
  }
}

El TabbedPage.On<Windows> método especifica que esta plataforma específica solo se ejecutará en el Plataforma universal de Windows. El TabbedPage.SetHeaderIconsEnabled método , en el Xamarin.Forms.PlatformConfiguration.WindowsSpecific espacio de nombres , se usa para activar o desactivar los iconos de encabezado. El TabbedPage.SetHeaderIconsSize método especifica opcionalmente el tamaño del icono de encabezado con un Size valor .

Además, la TabbedPage clase del Xamarin.Forms.PlatformConfiguration.WindowsSpecific espacio de nombres también tiene un EnableHeaderIcons método que habilita los iconos de encabezado, un DisableHeaderIcons método que deshabilita los iconos de encabezado y un método que devuelve un IsHeaderIconsEnabledboolean valor que indica si los iconos de encabezado están habilitados.

El resultado es que los iconos de página se pueden mostrar en una TabbedPage barra de herramientas, con el tamaño del icono que se establece opcionalmente en un tamaño deseado:

Iconos de TabbedPage habilitados para