@@ -47,10 +47,7 @@ protected override void OnElementChanged(ElementChangedEventArgs<ContentView> e)
4747 {
4848 base . OnElementChanged ( e ) ;
4949
50- if ( NativeView == null )
51- return ;
52-
53- if ( e . NewElement != null )
50+ if ( e . NewElement is SwipeAwareContainer element && ! element . SwipeDetectionDisabled )
5451 AddGestureRecognizers ( ) ;
5552
5653 if ( e . OldElement != null )
@@ -61,16 +58,19 @@ private void AddGestureRecognizers()
6158 {
6259 try
6360 {
64- if ( ! NativeView . GestureRecognizers . Contains ( _rightGestureRecognizer ) )
61+ if ( NativeView == null )
62+ return ;
63+
64+ if ( ! NativeView . GestureRecognizers ? . Contains ( _rightGestureRecognizer ) ?? true )
6565 NativeView . AddGestureRecognizer ( _rightGestureRecognizer ) ;
6666
67- if ( ! NativeView . GestureRecognizers . Contains ( _leftGestureRecognizer ) )
67+ if ( ! NativeView . GestureRecognizers ? . Contains ( _leftGestureRecognizer ) ?? true )
6868 NativeView . AddGestureRecognizer ( _leftGestureRecognizer ) ;
6969
70- if ( ! NativeView . GestureRecognizers . Contains ( _upGestureRecognizer ) )
70+ if ( ! NativeView . GestureRecognizers ? . Contains ( _upGestureRecognizer ) ?? true )
7171 NativeView . AddGestureRecognizer ( _upGestureRecognizer ) ;
7272
73- if ( ! NativeView . GestureRecognizers . Contains ( _downGestureRecognizer ) )
73+ if ( ! NativeView . GestureRecognizers ? . Contains ( _downGestureRecognizer ) ?? true )
7474 NativeView . AddGestureRecognizer ( _downGestureRecognizer ) ;
7575 }
7676 catch ( Exception )
@@ -81,16 +81,19 @@ private void RemoveGestureRecognizers()
8181 {
8282 try
8383 {
84- if ( NativeView . GestureRecognizers . Contains ( _rightGestureRecognizer ) )
84+ if ( NativeView == null )
85+ return ;
86+
87+ if ( NativeView . GestureRecognizers ? . Contains ( _rightGestureRecognizer ) ?? false )
8588 NativeView . RemoveGestureRecognizer ( _rightGestureRecognizer ) ;
8689
87- if ( NativeView . GestureRecognizers . Contains ( _leftGestureRecognizer ) )
90+ if ( NativeView . GestureRecognizers ? . Contains ( _leftGestureRecognizer ) ?? false )
8891 NativeView . RemoveGestureRecognizer ( _leftGestureRecognizer ) ;
8992
90- if ( NativeView . GestureRecognizers . Contains ( _upGestureRecognizer ) )
93+ if ( NativeView . GestureRecognizers ? . Contains ( _upGestureRecognizer ) ?? false )
9194 NativeView . RemoveGestureRecognizer ( _upGestureRecognizer ) ;
9295
93- if ( NativeView . GestureRecognizers . Contains ( _downGestureRecognizer ) )
96+ if ( NativeView . GestureRecognizers ? . Contains ( _downGestureRecognizer ) ?? false )
9497 NativeView . RemoveGestureRecognizer ( _downGestureRecognizer ) ;
9598 }
9699 catch ( Exception )
0 commit comments