@@ -192,7 +192,7 @@ public void ShowPopupAsync_WithViewType_SetsCorrectDefaults()
192192 navigation . ShowPopup ( label ) ;
193193
194194 popupPage = ( PopupPage ) navigation . ModalStack [ 0 ] ;
195- autogeneratedPopup = ( Popup ) ( ( ( Border ) popupPage . Content . Children [ 0 ] ) . Content ?? throw new InvalidOperationException ( "Border Content cannot be null" ) ) ;
195+ autogeneratedPopup = ( Popup ) ( ( ( Border ) popupPage . Content . Children . Last ( ) ) . Content ?? throw new InvalidOperationException ( "Border Content cannot be null" ) ) ;
196196
197197 // Assert
198198 Assert . Equal ( PopupDefaults . BackgroundColor , autogeneratedPopup . BackgroundColor ) ;
@@ -435,7 +435,7 @@ public void ShowPopupAsync_WithCustomOptions_AppliesOptions()
435435
436436 var popupPage = ( PopupPage ) navigation . ModalStack [ 0 ] ;
437437 var popupPageContent = popupPage . Content ;
438- var border = ( Border ) popupPageContent . Children [ 0 ] ;
438+ var border = popupPageContent . Children . OfType < Border > ( ) . Single ( ) ;
439439 var popup = border . Content ;
440440
441441 // Assert
@@ -507,7 +507,7 @@ public void ShowPopupAsync_Shell_WithCustomOptions_AppliesOptions()
507507
508508 var popupPage = ( PopupPage ) shellNavigation . ModalStack [ 0 ] ;
509509 var popupPageContent = popupPage . Content ;
510- var border = ( Border ) popupPageContent . Children [ 0 ] ;
510+ var border = popupPageContent . Children . OfType < Border > ( ) . Single ( ) ;
511511 var popup = border . Content ;
512512
513513 // Assert
@@ -579,7 +579,7 @@ public void ShowPopupAsyncWithView_WithCustomOptions_AppliesOptions()
579579
580580 var popupPage = ( PopupPage ) navigation . ModalStack [ 0 ] ;
581581 var popupPageContent = popupPage . Content ;
582- var border = ( Border ) popupPageContent . Children [ 0 ] ;
582+ var border = popupPageContent . Children . OfType < Border > ( ) . Single ( ) ;
583583 var popup = ( Popup ) ( border . Content ?? throw new InvalidCastException ( ) ) ;
584584
585585 // Assert
@@ -660,7 +660,7 @@ public void ShowPopupAsyncWithView_Shell_WithCustomOptions_AppliesOptions()
660660
661661 var popupPage = ( PopupPage ) shellNavigation . ModalStack [ 0 ] ;
662662 var popupPageContent = popupPage . Content ;
663- var border = ( Border ) popupPageContent . Children [ 0 ] ;
663+ var border = popupPageContent . Children . OfType < Border > ( ) . Single ( ) ;
664664 var popup = ( Popup ) ( border . Content ?? throw new InvalidCastException ( ) ) ;
665665
666666 // Assert
@@ -1149,7 +1149,7 @@ public async Task ShowPopupAsync_ReferenceTypeShouldReturnNull_WhenPopupTapGestu
11491149 var popupPage = ( PopupPage ) navigation . ModalStack [ 0 ] ;
11501150 popupPage . PopupClosed += HandlePopupClosed ;
11511151
1152- var tapGestureRecognizer = ( TapGestureRecognizer ) popupPage . Content . GestureRecognizers [ 0 ] ;
1152+ var tapGestureRecognizer = GetTapOutsideGestureRecognizer ( popupPage ) ;
11531153 tapGestureRecognizer . Command ? . Execute ( null ) ;
11541154
11551155 var popupClosedResult = await popupClosedTCS . Task ;
@@ -1184,7 +1184,7 @@ public async Task ShowPopupAsync_Shell_ReferenceTypeShouldReturnNull_WhenPopupTa
11841184 var popupPage = ( PopupPage ) shellNavigation . ModalStack [ 0 ] ;
11851185 popupPage . PopupClosed += HandlePopupClosed ;
11861186
1187- var tapGestureRecognizer = ( TapGestureRecognizer ) popupPage . Content . GestureRecognizers [ 0 ] ;
1187+ var tapGestureRecognizer = GetTapOutsideGestureRecognizer ( popupPage ) ;
11881188 tapGestureRecognizer . Command ? . Execute ( null ) ;
11891189
11901190 var popupClosedResult = await popupClosedTCS . Task ;
@@ -1212,7 +1212,7 @@ public async Task ShowPopupAsync_NullableValueTypeShouldReturnResult_WhenPopupIs
12121212 var popupPage = ( PopupPage ) navigation . ModalStack [ 0 ] ;
12131213 popupPage . PopupClosed += HandlePopupClosed ;
12141214
1215- var tapGestureRecognizer = ( TapGestureRecognizer ) popupPage . Content . GestureRecognizers [ 0 ] ;
1215+ var tapGestureRecognizer = GetTapOutsideGestureRecognizer ( popupPage ) ;
12161216 tapGestureRecognizer . Command ? . Execute ( null ) ;
12171217
12181218 var popupClosedResult = await popupClosedTCS . Task ;
@@ -1247,7 +1247,7 @@ public async Task ShowPopupAsync_Shell_NullableValueTypeShouldReturnResult_WhenP
12471247 var popupPage = ( PopupPage ) shellNavigation . ModalStack [ 0 ] ;
12481248 popupPage . PopupClosed += HandlePopupClosed ;
12491249
1250- var tapGestureRecognizer = ( TapGestureRecognizer ) popupPage . Content . GestureRecognizers [ 0 ] ;
1250+ var tapGestureRecognizer = GetTapOutsideGestureRecognizer ( popupPage ) ;
12511251 tapGestureRecognizer . Command ? . Execute ( null ) ;
12521252
12531253 var popupClosedResult = await popupClosedTCS . Task ;
@@ -1275,7 +1275,7 @@ public async Task ShowPopupAsync_ValueTypeShouldReturnResult_WhenPopupIsClosedBy
12751275 var popupPage = ( PopupPage ) navigation . ModalStack [ 0 ] ;
12761276 popupPage . PopupClosed += HandlePopupClosed ;
12771277
1278- var tapGestureRecognizer = ( TapGestureRecognizer ) popupPage . Content . GestureRecognizers [ 0 ] ;
1278+ var tapGestureRecognizer = GetTapOutsideGestureRecognizer ( popupPage ) ;
12791279 tapGestureRecognizer . Command ? . Execute ( null ) ;
12801280
12811281 var popupClosedResult = await popupClosedTCS . Task ;
@@ -1311,7 +1311,7 @@ public async Task ShowPopupAsync_Shell_ValueTypeShouldReturnResult_WhenPopupIsCl
13111311 var popupPage = ( PopupPage ) shellNavigation . ModalStack [ 0 ] ;
13121312 popupPage . PopupClosed += HandlePopupClosed ;
13131313
1314- var tapGestureRecognizer = ( TapGestureRecognizer ) popupPage . Content . GestureRecognizers [ 0 ] ;
1314+ var tapGestureRecognizer = GetTapOutsideGestureRecognizer ( popupPage ) ;
13151315 tapGestureRecognizer . Command ? . Execute ( null ) ;
13161316
13171317 var popupClosedResult = await popupClosedTCS . Task ;
@@ -1459,6 +1459,9 @@ public async Task ShowPopupAsync_TaskShouldCompleteWhenCloseAsyncIsCalled()
14591459 Assert . Equal ( expectedResult , popupResult . Result ) ;
14601460 Assert . False ( popupResult . WasDismissedByTappingOutsideOfPopup ) ;
14611461 }
1462+
1463+ static TapGestureRecognizer GetTapOutsideGestureRecognizer ( PopupPage popupPage ) =>
1464+ ( TapGestureRecognizer ) popupPage . Content . Children . OfType < BoxView > ( ) . Single ( ) . GestureRecognizers [ 0 ] ;
14621465}
14631466
14641467sealed class ViewWithIQueryAttributable : Button , IQueryAttributable
0 commit comments