Iconos tabbedPage en Windows

Ejemplo de descarga Descarga del ejemplo

Esta plataforma Windows plataforma universal permite mostrar iconos de página en una barra de herramientas y, opcionalmente, permite especificar TabbedPage el tamaño del icono. Se consume en XAML estableciendo la propiedad adjunta en y, opcionalmente, estableciendo TabbedPage.HeaderIconsEnabled la propiedad adjunta en un trueTabbedPage.HeaderIconsSizeSize 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 método especifica que esta plataforma específica solo se ejecutará en la plataforma TabbedPage.On<Windows> Windows universal. El método Xamarin_Forms _PlatformConfiguration_WindowsSpecific_TabbedPage_SetHeaderIconsEnabled_ Xamarin_Forms _IPlatformElementConfiguration_ Xamarin_Forms _PlatformConfiguration_Windows_ Xamarin_Forms _TabbedPage__System_Boolean_" data-linktype="absolute-path">, TabbedPage.SetHeaderIconsEnabledXamarin.Forms.PlatformConfiguration.WindowsSpecific en el espacio de nombres , se usa para activar o desactivar los iconos de encabezado. El Xamarin_Forms _PlatformConfiguration_WindowsSpecific_TabbedPage_SetHeaderIconsSize_ método Xamarin_Forms _IPlatformElementConfiguration_ Xamarin_Forms _PlatformConfiguration_Windows_ _TabbedPage__ Xamarin_FormsXamarin_Forms _Size_" data-linktype="absolute-path">TabbedPage.SetHeaderIconsSizeSize especifica opcionalmente el tamaño del icono de encabezado con un valor.

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

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

Iconos de TabbedPage habilitados para iconostabbedPage específicos de la plataforma