En del av de problem vi har tampats med handlar om just navigering och hur man gör det i samband med att man använder en MasterDetailPage.
Ett problem var att sidobaren där viss navigering till andra sidor sker inte försvann när man ville komma till en sida i den, detta löstes med att använda IMasterDetailPageOptions och sätta dess property IsPresentedAfterNavigation till false.
Ytterliggare ett problem vi haft var att när man var inne i en sådan sida från sidobaren så gick det inte att använda tillbakaknappen på android för att gå tillbaka, då stängdes appen ner. Det fanns även ingen tillbaka knapp i navigationsbaren. Detta löstes genom att skapa en customnavigationpage som använder INavigationPageOptions och sätta propertyn ClearNavigationStackOnNavigation till false. Vi ändrade även på navigationspathen från InfoPage till CustomNavigationPage/InfoPage”.
Kodexempel
Navigationsklassen
public class CustomNavigationPageViewModel : ViewModelBase, INavigationPageOptions public class CustomNavigationPageViewModel : ViewModelBase, INavigationPageOptions { public CustomNavigationPageViewModel(INavigationService navigationService) : base(navigationService) { } public bool ClearNavigationStackOnNavigation { get { return false; } } } Ändringarna i MasterDetailPage private async void NavigateToInfoPage() { await NavigationService.NavigateAsync("InfoPage"); } till private async void NavigateToInfoPage() { await NavigationService.NavigateAsync("CustomNavigationPage/InfoPage"); } <em>IMasterDetailPageOptions</em> public class MainMasterDetailPageViewModel : ViewModelBase, IMasterDetailPageOptions
Tillhörande prop som nu gör att baren inte syns när man navigerat till den nya sidan
public bool IsPresentedAfterNavigation { get { return false; } }