/// <summary>Called when the selected hamburger item has changed.</summary> /// <param name="sender">The sender.</param> /// <param name="args">The <see cref="HamburgerItemChangedEventArgs"/> instance containing the event data.</param> /// <returns>The task.</returns> protected virtual async Task OnSelectedHamburgerItemChanged(object sender, HamburgerItemChangedEventArgs args) { if (args.Item is PageHamburgerItem) { var pageItem = (PageHamburgerItem)args.Item; if (pageItem.PageType != null) { if (pageItem.UseSinglePageInstance) { var page = Frame.Pages.Reverse().FirstOrDefault(p => IsHamburgerItemForPage(pageItem, p)); if (page != null) { await Frame.CopyToTopAndNavigateAsync(page); } else { await Frame.NavigateAsync(pageItem.PageType, pageItem.PageParameter); } } else { await Frame.NavigateAsync(pageItem.PageType, pageItem.PageParameter); } } } }
private async void HamburgerOnItemChanged(object sender, HamburgerItemChangedEventArgs args) { if (args.Item is PageHamburgerItem) { var pageItem = (PageHamburgerItem)args.Item; if (pageItem.PageType != null) { if (pageItem.FindPageType) { await MoveOrNavigateToPageAsync(pageItem.PageType, pageItem.PageParameter); } else { await Frame.NavigateAsync(pageItem.PageType, pageItem.PageParameter); } } } }
private async void HamburgerOnItemChanged(object sender, HamburgerItemChangedEventArgs args) { if (args.Item is PageHamburgerItem) { var pageItem = (PageHamburgerItem)args.Item; if (pageItem.PageType != null) { if (pageItem.UseSinglePageInstance) { await Frame.NavigateToExistingOrNewPageAsync(pageItem.PageType, pageItem.PageParameter); } else { await Frame.NavigateAsync(pageItem.PageType, pageItem.PageParameter); } } } }