Xamarin Shell: Richtiger Ort zum Registrieren des Seitenroutings?

Nov 25 2020

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

1 JackHua-MSFT Nov 26 2020 at 15:19

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

1 Cfun Nov 26 2020 at 16:51

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: