Xamarin Shell: ¿lugar correcto para registrar el enrutamiento de página?

Nov 25 2020

¿Dónde está el lugar correcto para registrar la ruta de la página (que no está visible en el menú desplegable)?

Cuando la página no está visible en el menú desplegable, la agrego al método OnStart a través de App.xaml.cs

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

Cuando la página está visible en el menú desplegable, agrego enrutamiento de página como este

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

Respuestas

1 JackHua-MSFT Nov 26 2020 at 15:19

Debe registrar la ruta antes de usarla.

Del documento :

En el constructor de la subclase Shell, o en cualquier otra ubicación que se ejecute antes de que se invoque una ruta, se pueden registrar explícitamente rutas adicionales para cualquier página que no esté representada en la jerarquía visual de Shell.

1 Cfun Nov 26 2020 at 16:51

Como lo mencionan en mi comentario de ayer De Shell.Navigation :

"En el constructor de la subclase Shell, o en cualquier otra ubicación que se ejecute antes de que se invoque una ruta, se pueden registrar explícitamente rutas adicionales para cualquier página que no esté representada en la jerarquía visual de Shell:"

Entonces, al final, depende de la elección personal , siempre y cuando esté registrado antes de ser invocado .

Pregunta relacionada

¿Insecto? System.ArgumentException: 'no se puede averiguar la ruta para: