From a2009734dd4fd486fdd578d7d0f1b0aa9d351b46 Mon Sep 17 00:00:00 2001 From: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Date: Fri, 24 Jan 2025 06:02:00 +0530 Subject: [PATCH] Enhanced Stepper to Support Dynamic Increment Mapping (#24396) * Fix Stepper doesn't change increment value when being bound to a double in MVVM context (Windows) * shipped file changes updated * shipped file changes included * changes added in unshipped file * platform condition removed * platform condition added in script file * shipped file extra changes removed * extra changes removed in unshipped.txt * empty lines removed * tizen shipped file changes reverted * new test case and snapshot added for android & iOS * WinUI snap added * old changes reverted new changes added * snap added for all platform * Added AppendToMapping pattern * Removed wrong namespace * Renamed class name * Updated testcase screenshot forMac * Update StepperUITests.cs * Revert "Update StepperUITests.cs" This reverts commit 70ff4bc96637a2e1ec89df21fdacb1909b318b21. * Revert "Updated testcase screenshot forMac" This reverts commit 0aadff6f9651ca1a3aadccf1934d915ead994e7f. * Updated alignment in test case * Updated MapInterval * Updated test sample * Reverted test images * Revert "Reverted test images" This reverts commit 0ecfc54d852a5fdce30cd0596f986877be7fd324. * Removed test images * Added test_fails_on_catalyst tag in test sample --------- Co-authored-by: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> --- .../Core/Hosting/AppHostBuilderExtensions.cs | 1 + .../src/Core/Stepper/Stepper.Mapper.cs | 15 ++++++ .../TestCases.HostApp/Issues/Issue20706.xaml | 23 +++++++++ .../Issues/Issue20706.xaml.cs | 51 +++++++++++++++++++ .../Tests/Issues/Issue20706.cs | 49 ++++++++++++++++++ 5 files changed, 139 insertions(+) create mode 100644 src/Controls/src/Core/Stepper/Stepper.Mapper.cs create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue20706.xaml create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue20706.xaml.cs create mode 100644 src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue20706.cs diff --git a/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs b/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs index 6007d702e75f..0c7408f16249 100644 --- a/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs +++ b/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs @@ -257,6 +257,7 @@ internal static MauiAppBuilder RemapForControls(this MauiAppBuilder builder) SwipeView.RemapForControls(); Picker.RemapForControls(); SearchBar.RemapForControls(); + Stepper.RemapForControls(); TabbedPage.RemapForControls(); TimePicker.RemapForControls(); Layout.RemapForControls(); diff --git a/src/Controls/src/Core/Stepper/Stepper.Mapper.cs b/src/Controls/src/Core/Stepper/Stepper.Mapper.cs new file mode 100644 index 000000000000..54b83ace9add --- /dev/null +++ b/src/Controls/src/Core/Stepper/Stepper.Mapper.cs @@ -0,0 +1,15 @@ +using System; + +namespace Microsoft.Maui.Controls; +public partial class Stepper +{ + internal static new void RemapForControls() + { + StepperHandler.Mapper.AppendToMapping(nameof(Stepper.Increment), MapInterval); + } + + internal static void MapInterval(IStepperHandler handler, IStepper stepper) + { + handler.UpdateValue(nameof(IStepper.Interval)); + } +} diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue20706.xaml b/src/Controls/tests/TestCases.HostApp/Issues/Issue20706.xaml new file mode 100644 index 000000000000..17bcbc0dc7a2 --- /dev/null +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue20706.xaml @@ -0,0 +1,23 @@ + + + + + + + + + +