Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die .NET Multi-Platform App UI (.NET MAUI) Shell reduziert die Komplexität der App-Entwicklung, indem die grundlegenden Features bereitgestellt werden, die die meisten Apps erfordern, einschließlich:
- Eine einzige Stelle zum Beschreiben der visuellen Hierarchie einer App.
- Eine allgemeine Navigationsbenutzerumgebung.
- Ein URI-basiertes Navigationsschema, das die Navigation zu einer beliebigen Seite in der App zulässt.
- Ein integrierter Suchhandler.
Visuelle App-Hierarchie
In einer .NET MAUI Shell-App wird die visuelle Hierarchie der App in einer Klasse beschrieben, die die Shell Klasse unterordnet. Diese Klasse kann aus drei hierarchischen Hauptobjekten bestehen:
- FlyoutItem oder TabBar. Ein FlyoutItem Element stellt ein oder mehrere Elemente im Flyout dar und sollte verwendet werden, wenn das Navigationsmuster für die App ein Flyout erfordert. Ein TabBar stellt die untere Tab-Leiste dar und sollte verwendet werden, wenn das Navigationsmuster der App mit unteren Tabs beginnt und keine Flyout benötigt. Weitere Informationen zu Flyout-Elementen finden Sie unter .NET MAUI Shell-Flyout. Weitere Informationen zu Reiterleisten finden Sie unter .NET MAUI Shell-Reiter.
- Tab, der gruppierten Inhalt darstellt, über untere Registerkarten navigierbar. Weitere Informationen finden Sie unter .NET MAUI Shell Tabs.
- ShellContent, das die ContentPage Objekte für jede Registerkarte darstellt. Weitere Informationen finden Sie unter .NET MAUI Shell-Seiten.
Diese Objekte stellen keine Benutzeroberfläche dar, sondern die Organisation der visuellen Hierarchie der App. Shell verwendet diese Objekte und erzeugt die Navigations-Benutzeroberfläche für den Inhalt.
Hinweis
Seiten werden bei Bedarf in Shell-Apps als Reaktion auf die Navigation erstellt.
Weitere Informationen finden Sie unter Erstellen einer .NET MAUI Shell-App.
Android-Handlerarchitektur
Ab .NET MAUI 11 verwendet Shell unter Android standardmäßig eine handlerbasierte Architektur. Die Android-Implementierung basiert auf ShellHandler, ShellItemHandler und ShellSectionHandler und verwendet MauiDrawerLayout, TabbedViewManager sowie die Navigationshandler-Infrastruktur anderer .NET MAUI-Navigationssteuerelemente wieder. Dies ändert nicht, wie Sie die Shellhierarchie in XAML oder C# definieren.
iOS und Mac Catalyst Shell verwenden weiterhin die Legacyversion ShellRenderer. Wenn eine Android-App von legacy-Shell-Rendererverhalten oder benutzerdefinierten Android-Unterklassen ShellRenderer abhängt, können Sie die Android-Handlerarchitektur deaktivieren, indem Sie den Kompatibilitätsrenderer explizit registrieren:
builder.ConfigureMauiHandlers(handlers =>
{
#if ANDROID
handlers.AddHandler<Shell, Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer>();
#endif
});
Anleitungen zur Migration von benutzerdefinierten Android-Shell-Renderern finden Sie unter "Wiederverwenden von benutzerdefinierten Renderern in .NET MAUI".
Navigationsbenutzerfreundlichkeit
Die navigationsoberfläche von .NET MAUI Shell basiert auf Flyouts und Registerkarten. Die oberste Navigationsebene in einer Shell-App ist abhängig von den Navigationsanforderungen der App entweder ein Flyout oder eine untere Registerkartenleiste. Das folgende Beispiel zeigt eine App, bei der die oberste Navigationsebene ein Flyout ist:
In diesem Beispiel werden einige Flyoutelemente als Elemente in die Registerkartenleiste dupliziert. Es gibt jedoch auch Elemente, auf die nur über das Flyout zugegriffen werden kann. Die Auswahl eines Flyoutelements führt zu der unteren Registerkarte, die das ausgewählte Element darstellt und anzeigt:
Hinweis
Wenn das Flyout nicht geöffnet ist, kann die untere Registerkartenleiste als oberste Navigationsebene in der App betrachtet werden.
Auf jeder Registerkarte der Registerkartenleiste wird ein ContentPage-Objekt angezeigt. Wenn jedoch eine untere Registerkarte mehr als eine Seite enthält, können die Seiten über die obere Registerkartenleiste navigiert werden:
Innerhalb jeder Registerkarte können zusätzliche ContentPage Objekte, die als Detailseiten bekannt sind, aufgerufen werden.
Shell verwendet eine URI-basierte Navigationsoberfläche, die Routen zum Navigieren zu einer beliebigen Seite in der App verwendet, ohne einer festgelegten Navigationshierarchie folgen zu müssen. Darüber hinaus bietet es auch die Möglichkeit, rückwärts zu navigieren, ohne alle Seiten des Navigationsstapels aufrufen zu müssen. Weitere Informationen finden Sie in der .NET MAUI Shell-Navigation.
Suchen
.NET MAUI Shell enthält integrierte Suchfunktionen, die von der SearchHandler Klasse bereitgestellt werden. Die Suchfunktion kann einer Seite hinzugefügt werden, indem ein unterklassigtes SearchHandler Objekt hinzugefügt wird. Dies führt dazu, dass oben auf der Seite ein Suchfeld hinzugefügt wird. Wenn Daten in das Suchfeld eingegeben werden, wird der Suchvorschlägebereich mit Daten gefüllt:
Wenn dann ein Ergebnis aus dem Suchvorschlägebereich ausgewählt wird, kann benutzerdefinierte Logik ausgeführt werden, z. B. das Navigieren zu einer Detailseite.
Weitere Informationen finden Sie unter .NET MAUI Shell-Suche.
Durchsuchen Sie das Beispiel