Xamarin Shell: endroit correct pour enregistrer le routage des pages?

Nov 25 2020

Où est le bon endroit pour enregistrer l'itinéraire de la page (qui n'est pas visible dans le menu déroulant)?

Lorsque la page n'est pas visible dans le menu déroulant, je l'ajoute à la méthode OnStart via App.xaml.cs

protected override void OnStart()
{
    Routing.RegisterRoute("RegisterPage", typeof(RegisterPage));
    Routing.RegisterRoute("LoginPage", typeof(LoginPage));
}

Lorsque la page est visible dans le menu déroulant, j'ajoute un routage de page comme celui-ci

<FlyoutItem Title="Home" Icon="icon_home.png">
    <ShellContent Route="HomePage" ContentTemplate="{DataTemplate local:HomePage}" />
</FlyoutItem>

Réponses

1 JackHua-MSFT Nov 26 2020 at 15:19

Vous devez enregistrer l'itinéraire avant de l'utiliser.

À partir du document :

Dans le constructeur de sous-classe Shell, ou tout autre emplacement qui s'exécute avant qu'un itinéraire ne soit appelé, des itinéraires supplémentaires peuvent être explicitement inscrits pour toutes les pages qui ne sont pas représentées dans la hiérarchie visuelle Shell

1 Cfun Nov 26 2020 at 16:51

Comme mentionné dans mon commentaire hier De Shell.Navigation :

"Dans le constructeur de sous-classe Shell, ou tout autre emplacement qui s'exécute avant qu'une route ne soit appelée, des routes supplémentaires peuvent être explicitement enregistrées pour toutes les pages qui ne sont pas représentées dans la hiérarchie visuelle Shell:"

Donc à la fin, cela dépend du choix personnel tant qu'il est enregistré avant d'être invoqué .

Question connexe

Punaise? System.ArgumentException: 'impossible de trouver la route pour: