@@ -21,28 +21,30 @@ internal static string PrintNavigationPath()
2121 {
2222 var mainPage = Application . Current . MainPage ;
2323 var navigation = mainPage . Navigation ;
24- var pages = GetNavigationTree ( navigation , mainPage ) . ToArray ( ) ;
24+ var pages = GetNavigationTree ( mainPage ) . ToArray ( ) ;
2525 var navigationPath = PrintNavigationPath ( pages ) ;
2626 return navigationPath ;
2727 }
2828
2929 private static string PrintNavigationPath ( IEnumerable < Page > pages )
3030 {
31- return pages . Aggregate ( "" , ( current , page ) => $ "{ current } /{ ( page ? . GetType ( ) . Name ?? "" ) } ") ;
31+ return pages . Aggregate ( "" , ( current , page ) => $ "{ current } /{ page ? . GetType ( ) . Name ?? "" } ") ;
3232 }
3333
34- internal static IEnumerable < Page > GetNavigationTree ( INavigation navigation , Page page , bool modal = false )
34+ internal static IEnumerable < Page > GetNavigationTree ( Page page , bool modal = false )
3535 {
36+ var navigation = page . Navigation ;
37+
3638 switch ( page )
3739 {
3840 case FlyoutPage flyoutPage :
3941 yield return flyoutPage ;
40- foreach ( var p in GetNavigationTree ( flyoutPage . Flyout . Navigation , flyoutPage . Flyout ) )
42+ foreach ( var p in GetNavigationTree ( flyoutPage . Flyout ) )
4143 {
4244 yield return p ;
4345 }
4446
45- foreach ( var p in GetNavigationTree ( flyoutPage . Detail . Navigation , flyoutPage . Detail ) )
47+ foreach ( var p in GetNavigationTree ( flyoutPage . Detail ) )
4648 {
4749 yield return p ;
4850 }
@@ -51,7 +53,7 @@ internal static IEnumerable<Page> GetNavigationTree(INavigation navigation, Page
5153
5254 case TabbedPage tabbedPage :
5355 yield return tabbedPage ;
54- foreach ( var p in GetNavigationTree ( tabbedPage . CurrentPage . Navigation , tabbedPage . CurrentPage ) )
56+ foreach ( var p in GetNavigationTree ( tabbedPage . CurrentPage ) )
5557 {
5658 yield return p ;
5759 }
@@ -77,7 +79,7 @@ internal static IEnumerable<Page> GetNavigationTree(INavigation navigation, Page
7779 {
7880 foreach ( var modalPage in navigation . ModalStack )
7981 {
80- foreach ( var p in GetNavigationTree ( modalPage . Navigation , modalPage , modal : true ) )
82+ foreach ( var p in GetNavigationTree ( modalPage , modal : true ) )
8183 {
8284 yield return p ;
8385 }
0 commit comments