Значки TabbedPage в Windows

Download Sample Скачайте пример

Эта универсальная платформа Windows для конкретной TabbedPage платформы позволяет отображать значки страниц на панели инструментов и при необходимости указывать размер значка. Он используется в XAML путем задания присоединенного TabbedPage.HeaderIconsEnabled свойства trueи при необходимости присвоив TabbedPage.HeaderIconsSize присоединенному свойству 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>

Кроме того, его можно использовать из C# с помощью api fluent:

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

Метод TabbedPage.On<Windows> указывает, что эта платформа будет выполняться только в универсальная платформа Windows. Метод TabbedPage.SetHeaderIconsEnabled в Xamarin.Forms.PlatformConfiguration.WindowsSpecific пространстве имен используется для включения и отключения значков заголовков. Метод TabbedPage.SetHeaderIconsSize при необходимости задает размер значка заголовка со значением Size .

Кроме того, TabbedPage класс в Xamarin.Forms.PlatformConfiguration.WindowsSpecific пространстве имен также имеет EnableHeaderIcons метод, который включает значки заголовков, DisableHeaderIcons метод, который отключает значки заголовка и IsHeaderIconsEnabled метод boolean , возвращающий значение, указывающее, включены ли значки заголовков.

Результатом является то, что значки страницы можно отображать на TabbedPage панели инструментов, при этом размер значка при необходимости устанавливается в нужный размер:

TabbedPage icons enabled platform-specific