Xamarin Shell: Richtiger Ort zum Registrieren des Seitenroutings?
Wo ist der richtige Ort, um die Seitenroute zu registrieren (die im Flyout-Menü nicht sichtbar ist)?
Wenn die Seite im Flyout-Menü nicht sichtbar ist, füge ich sie über App.xaml.cs zur OnStart-Methode hinzu
protected override void OnStart()
{
Routing.RegisterRoute("RegisterPage", typeof(RegisterPage));
Routing.RegisterRoute("LoginPage", typeof(LoginPage));
}
Wenn die Seite im Flyout-Menü sichtbar ist, füge ich das Seitenrouting wie folgt hinzu
<FlyoutItem Title="Home" Icon="icon_home.png">
<ShellContent Route="HomePage" ContentTemplate="{DataTemplate local:HomePage}" />
</FlyoutItem>
Antworten
Sie sollten die Route registrieren, bevor Sie sie verwenden.
Aus dem Dokument :
Im Shell-Unterklassenkonstruktor oder an einem anderen Speicherort, der vor dem Aufrufen einer Route ausgeführt wird, können zusätzliche Routen explizit für alle Seiten registriert werden, die nicht in der visuellen Shell-Hierarchie dargestellt sind
Wie in meinem gestrigen Kommentar erwähnt Von Shell.Navigation :
"Im Shell-Unterklassenkonstruktor oder an einem anderen Speicherort, der vor dem Aufrufen einer Route ausgeführt wird, können zusätzliche Routen explizit für alle Seiten registriert werden, die nicht in der visuellen Shell-Hierarchie dargestellt sind:"
Am Ende hängt es also von der persönlichen Wahl ab, solange es registriert ist, bevor es aufgerufen wird .
Verwandte Frage
Fehler? System.ArgumentException: 'Route kann nicht ermittelt werden für: