@@ -879,6 +879,44 @@ public void ListenToContentEffectiveViewportChanged()
879
879
} ) ;
880
880
}
881
881
882
+ [ TestMethod ]
883
+ [ TestProperty ( "Description" , "ScrollPresenter should handle BringIntoView for its direct content." ) ]
884
+ public void HandleContentBringIntoView ( )
885
+ {
886
+ ScrollPresenter scrollPresenter = null ;
887
+ Rectangle rectangleScrollPresenterContent = null ;
888
+ AutoResetEvent scrollPresenterViewChangedEvent = new AutoResetEvent ( false ) ;
889
+ AutoResetEvent scrollPresenterLoadedEvent = new AutoResetEvent ( false ) ;
890
+
891
+ RunOnUIThread . Execute ( ( ) =>
892
+ {
893
+ rectangleScrollPresenterContent = new Rectangle ( ) { Margin = new Thickness ( 0 , 500 , 0 , 0 ) } ;
894
+ scrollPresenter = new ScrollPresenter ( ) ;
895
+
896
+ SetupDefaultUI ( scrollPresenter , rectangleScrollPresenterContent , scrollPresenterLoadedEvent ) ;
897
+
898
+ } ) ;
899
+
900
+ WaitForEvent ( "Waiting for Loaded event" , scrollPresenterLoadedEvent ) ;
901
+
902
+ RunOnUIThread . Execute ( ( ) =>
903
+ {
904
+ scrollPresenter . ViewChanged += ( s , e ) =>
905
+ {
906
+ scrollPresenterViewChangedEvent . Set ( ) ;
907
+ } ;
908
+
909
+ rectangleScrollPresenterContent . StartBringIntoView ( new BringIntoViewOptions ( ) { AnimationDesired = false } ) ;
910
+ } ) ;
911
+
912
+ WaitForEvent ( "Waiting for ViewChanged event" , scrollPresenterViewChangedEvent ) ;
913
+
914
+ RunOnUIThread . Execute ( ( ) =>
915
+ {
916
+ Verify . AreEqual ( 500.0 , scrollPresenter . VerticalOffset ) ;
917
+ } ) ;
918
+ }
919
+
882
920
private void SetupDefaultUI (
883
921
ScrollPresenter scrollPresenter ,
884
922
Rectangle rectangleScrollPresenterContent ,
0 commit comments