Freigeben über


TabbedPage-Symbole unter Windows

Diese Universelle Windows-Plattform plattformspezifischen Ermöglicht das Anzeigen von Seitensymbolen auf einer TabbedPage Symbolleiste und bietet optional die Möglichkeit, die Symbolgröße anzugeben. Sie wird in XAML verwendet, indem sie die TabbedPage.HeaderIconsEnabled angefügte Eigenschaft auf true" und optional die TabbedPage.HeaderIconsSize angefügte Eigenschaft auf einen Size Wert festlegt:

<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>

Alternativ kann es auch von C# aus über die Fluent-API genutzt werden:

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

Die TabbedPage.On<Windows> Methode gibt an, dass diese plattformspezifische Nur auf dem Universelle Windows-Plattform ausgeführt wird. Die TabbedPage.SetHeaderIconsEnabled Methode im Xamarin.Forms.PlatformConfiguration.WindowsSpecific Namespace wird verwendet, um Kopfzeilensymbole ein- oder auszuschalten. Die TabbedPage.SetHeaderIconsSize Methode gibt optional die Größe des Kopfzeilensymbols mit einem Size Wert an.

Darüber hinaus verfügt die Klasse im Xamarin.Forms.PlatformConfiguration.WindowsSpecific Namespace auch über eine EnableHeaderIcons Methode, mit der TabbedPage Kopfzeilensymbole, eine DisableHeaderIcons Methode, die Kopfzeilensymbole deaktiviert, und eine IsHeaderIconsEnabled Methode, die einen boolean Wert zurückgibt, der angibt, ob Kopfzeilensymbole aktiviert sind.

Das Ergebnis ist, dass Seitensymbole auf einer TabbedPage Symbolleiste angezeigt werden können, wobei die Symbolgröße optional auf eine gewünschte Größe festgelegt wird:

TabbedPage-Symbole für plattformspezifische Aktivierte Symbole