Iconos de TabbedPage en Windows
Esta característica específica de la Plataforma universal de Windows permite mostrar iconos de página en una barra de herramientas TabbedPage
y proporciona la posibilidad de especificar opcionalmente el tamaño del icono. Se consume en XAML estableciendo la propiedad adjunta TabbedPage.HeaderIconsEnabled
en true
y estableciendo opcionalmente la propiedad adjunta TabbedPage.HeaderIconsSize
en un valor Size
:
<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 TabbedPage.On<Windows>
especifica que esta característica específica de la plataforma solo se ejecutará en la Plataforma universal de Windows. El método TabbedPage.SetHeaderIconsEnabled
, del espacio de nombres Xamarin.Forms.PlatformConfiguration.WindowsSpecific
, se usa para activar o desactivar los iconos de encabezado. Opcionalmente, el método TabbedPage.SetHeaderIconsSize
especifica el tamaño del icono de encabezado con un valor Size
.
Además, la clase TabbedPage
del espacio de nombres Xamarin.Forms.PlatformConfiguration.WindowsSpecific
también tiene un método EnableHeaderIcons
que habilita los iconos de encabezado, un método DisableHeaderIcons
que deshabilita los iconos de encabezado y un método IsHeaderIconsEnabled
que devuelve un valor boolean
que indica si los iconos de encabezado están habilitados.
El resultado es que los iconos de página se pueden mostrar en una barra de herramientas TabbedPage
, y el tamaño del icono que se establece opcionalmente en un tamaño deseado: