diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/ScrollViewUITests.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/ScrollViewUITests.cs index a4d5fb65fda3..cefdcfec72e6 100644 --- a/src/Controls/tests/TestCases.Shared.Tests/Tests/ScrollViewUITests.cs +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/ScrollViewUITests.cs @@ -79,9 +79,6 @@ public void ScrollToY() // ScrollToYTwice (src\Compatibility\ControlGallery\src\UITests.Shared\Tests\ScrollViewUITests.cs) [Test] [Description("ScrollTo Y = 100")] - [FailsOnIOSWhenRunningOnXamarinUITest("This test is failing, likely due to product issue, More Information: https://github.com/dotnet/maui/issues/27250")] - [FailsOnMacWhenRunningOnXamarinUITest("This test is failing, likely due to product issue, More Information: https://github.com/dotnet/maui/issues/27250")] - [FailsOnWindowsWhenRunningOnXamarinUITest("This test is failing, likely due to product issue, More Information: https://github.com/dotnet/maui/issues/27250")] public void ScrollToYTwice() { App.WaitForElement("WaitForStubControl"); diff --git a/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Windows.cs b/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Windows.cs index 8a3214733212..9f918ed8b624 100644 --- a/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Windows.cs +++ b/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Windows.cs @@ -79,6 +79,10 @@ public static void MapRequestScrollTo(IScrollViewHandler handler, IScrollView sc if (args is ScrollToRequest request) { handler.PlatformView.ChangeView(request.HorizontalOffset, request.VerticalOffset, null, request.Instant); + if(request.VerticalOffset == handler.PlatformView.VerticalOffset && request.HorizontalOffset == handler.PlatformView.HorizontalOffset) + { + handler.VirtualView.ScrollFinished(); + } } } diff --git a/src/Core/src/Handlers/ScrollView/ScrollViewHandler.iOS.cs b/src/Core/src/Handlers/ScrollView/ScrollViewHandler.iOS.cs index 56baabdf0fc5..7d9e24f1fa48 100644 --- a/src/Core/src/Handlers/ScrollView/ScrollViewHandler.iOS.cs +++ b/src/Core/src/Handlers/ScrollView/ScrollViewHandler.iOS.cs @@ -114,7 +114,7 @@ public static void MapRequestScrollTo(IScrollViewHandler handler, IScrollView sc var minScrollVertical = Math.Clamp(request.VerticalOffset, 0, availableScrollHeight); uiScrollView.SetContentOffset(new CGPoint(minScrollHorizontal, minScrollVertical), !request.Instant); - if (request.Instant) + if (request.Instant || (uiScrollView.ContentOffset.Y == minScrollVertical && uiScrollView.ContentOffset.X == minScrollHorizontal)) { scrollView.ScrollFinished(); }