Xamarin Shell: prawidłowe miejsce do zarejestrowania routingu stron?
Gdzie jest prawidłowe miejsce do zarejestrowania trasy strony (nie jest to widoczne w wysuwanym menu)?
Gdy strona nie jest widoczna w menu wysuwanym, dodaję ją do metody OnStart poprzez App.xaml.cs
protected override void OnStart()
{
Routing.RegisterRoute("RegisterPage", typeof(RegisterPage));
Routing.RegisterRoute("LoginPage", typeof(LoginPage));
}
Gdy strona jest widoczna w menu wysuwanym, dodaję takie trasowanie stron
<FlyoutItem Title="Home" Icon="icon_home.png">
<ShellContent Route="HomePage" ContentTemplate="{DataTemplate local:HomePage}" />
</FlyoutItem>
Odpowiedzi
Przed skorzystaniem z niej należy zarejestrować trasę.
Z dokumentu :
W konstruktorze podklasy Shell lub dowolnej innej lokalizacji, która jest uruchamiana przed wywołaniem trasy, dodatkowe trasy mogą być jawnie rejestrowane dla wszystkich stron, które nie są reprezentowane w hierarchii wizualnej powłoki
Jak wspomniałem w moim wczorajszym komentarzu z Shell.Navigation :
„W konstruktorze podklasy Shell lub w dowolnej innej lokalizacji, która jest uruchamiana przed wywołaniem trasy, dodatkowe trasy można jawnie zarejestrować dla wszystkich stron, które nie są reprezentowane w hierarchii wizualnej powłoki:”
Ostatecznie zależy to od osobistego wyboru, o ile zostanie zarejestrowane przed wywołaniem .
Powiązane pytanie
Pluskwa? System.ArgumentException: „nie można znaleźć trasy dla: