Пример #1
0
 /// <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);
             }
         }
     }
 }
Пример #2
0
 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);
             }
         }
     }
 }
Пример #3
0
 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);
             }
         }
     }
 }