TabbedPage-Symbole für Windows

Download Sample Das Beispiel herunterladen

Diese Universelle Windows-Plattform plattformspezifischen Ermöglicht es Seitensymbolen, auf einer TabbedPage Symbolleiste anzuzeigen, und bietet die Möglichkeit, optional die Symbolgröße anzugeben. Sie wird in XAML verwendet, indem Sie die TabbedPage.HeaderIconsEnabled angefügte Eigenschaft auf und optional die TabbedPage.HeaderIconsSize angefügte Eigenschaft trueauf einen Size Wert festlegen:

<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 sie über die Fluent-API von C# 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 Methode 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 icons enabled platform-specific