Xamarin Shell: endroit correct pour enregistrer le routage des pages?
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
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
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: