From 9277b5de6650d5f14d8be3d5c19a8c08fe576d83 Mon Sep 17 00:00:00 2001 From: James Parsons Date: Tue, 26 Sep 2023 12:02:31 -0700 Subject: [PATCH 1/8] Wrap Image with a container on Windows so that it is centered with AspectFill --- .../Handlers/Image/ImageHandler.Windows.cs | 95 ++++++++++++++++++- src/Core/src/Handlers/Image/ImageHandler.cs | 4 + .../Platform/Windows/ImageViewExtensions.cs | 7 ++ .../net-windows/PublicAPI.Unshipped.txt | 4 + 4 files changed, 108 insertions(+), 2 deletions(-) diff --git a/src/Core/src/Handlers/Image/ImageHandler.Windows.cs b/src/Core/src/Handlers/Image/ImageHandler.Windows.cs index 233f26e2cce3..ba33708a3921 100644 --- a/src/Core/src/Handlers/Image/ImageHandler.Windows.cs +++ b/src/Core/src/Handlers/Image/ImageHandler.Windows.cs @@ -8,8 +8,10 @@ namespace Microsoft.Maui.Handlers { public partial class ImageHandler : ViewHandler { + /// protected override WImage CreatePlatformView() => new WImage(); + /// protected override void ConnectHandler(WImage platformView) { platformView.ImageOpened += OnImageOpened; @@ -17,6 +19,7 @@ protected override void ConnectHandler(WImage platformView) base.ConnectHandler(platformView); } + /// protected override void DisconnectHandler(WImage platformView) { platformView.ImageOpened -= OnImageOpened; @@ -25,25 +28,113 @@ protected override void DisconnectHandler(WImage platformView) SourceLoader.Reset(); } + /// public override bool NeedsContainer => VirtualView?.Background != null || + VirtualView?.Aspect == Aspect.AspectFill || base.NeedsContainer; + /// + protected override void SetupContainer() + { + base.SetupContainer(); + + // VerticalAlignment only works when the child's Height is Auto + PlatformView.Height = Primitives.Dimension.Unset; + + UpdateValue(nameof(IView.Height)); + UpdateValue(nameof(IView.Width)); + } + + /// + protected override void RemoveContainer() + { + base.RemoveContainer(); + + UpdateValue(nameof(IView.Height)); + UpdateValue(nameof(IView.Width)); + } + + /// + /// Maps the abstract property to the platform-specific implementations. + /// + /// The associated handler. + /// The associated instance. + public static void MapHeight(IImageHandler handler, IImage view) + { + // VerticalAlignment only works when the container's Height is set and the child's Height is Auto. The child's Height + // is set to Auto when the container is introduced. + if (handler.ContainerView is FrameworkElement container) + { + container.Height = view.Height; + handler.PlatformView.Height = Primitives.Dimension.Unset; + } + else + { + ViewHandler.MapHeight(handler, view); + } + } + + /// + /// Maps the abstract property to the platform-specific implementations. + /// + /// The associated handler. + /// The associated instance. + public static void MapWidth(IImageHandler handler, IImage view) + { + if (handler.ContainerView is FrameworkElement container) + { + container.Width = view.Width; + } + else + { + ViewHandler.MapWidth(handler, view); + } + } + + /// + /// Maps the abstract property to the platform-specific implementations. + /// + /// The associated handler. + /// The associated instance. public static void MapBackground(IImageHandler handler, IImage image) { handler.UpdateValue(nameof(IViewHandler.ContainerView)); handler.ToPlatform().UpdateBackground(image); } - public static void MapAspect(IImageHandler handler, IImage image) => + /// + /// Maps the abstract property to the platform-specific implementations. + /// + /// The associated handler. + /// The associated instance. + public static void MapAspect(IImageHandler handler, IImage image) + { + handler.UpdateValue(nameof(IViewHandler.ContainerView)); handler.PlatformView?.UpdateAspect(image); + } + /// + /// Maps the abstract property to the platform-specific implementations. + /// + /// The associated handler. + /// The associated instance. public static void MapIsAnimationPlaying(IImageHandler handler, IImage image) => handler.PlatformView?.UpdateIsAnimationPlaying(image); + /// + /// Maps the abstract property to the platform-specific implementations. + /// + /// The associated handler. + /// The associated instance. public static void MapSource(IImageHandler handler, IImage image) => MapSourceAsync(handler, image).FireAndForget(handler); + /// + /// Maps the abstract property to the platform-specific implementations as an asynchronous operation. + /// + /// The associated handler. + /// The associated instance. public static Task MapSourceAsync(IImageHandler handler, IImage image) => handler.SourceLoader.UpdateImageSourceAsync(); @@ -66,4 +157,4 @@ public override void SetImageSource(ImageSource? platformImage) } } } -} \ No newline at end of file +} diff --git a/src/Core/src/Handlers/Image/ImageHandler.cs b/src/Core/src/Handlers/Image/ImageHandler.cs index 07cf5eff7b69..cfcc20d83514 100644 --- a/src/Core/src/Handlers/Image/ImageHandler.cs +++ b/src/Core/src/Handlers/Image/ImageHandler.cs @@ -20,6 +20,10 @@ public partial class ImageHandler : IImageHandler { #if __ANDROID__ || WINDOWS || TIZEN [nameof(IImage.Background)] = MapBackground, +#endif +#if WINDOWS + [nameof(IImage.Height)] = MapHeight, + [nameof(IImage.Width)] = MapWidth, #endif [nameof(IImage.Aspect)] = MapAspect, [nameof(IImage.IsAnimationPlaying)] = MapIsAnimationPlaying, diff --git a/src/Core/src/Platform/Windows/ImageViewExtensions.cs b/src/Core/src/Platform/Windows/ImageViewExtensions.cs index 0a2b957909d6..fbcd994371c5 100644 --- a/src/Core/src/Platform/Windows/ImageViewExtensions.cs +++ b/src/Core/src/Platform/Windows/ImageViewExtensions.cs @@ -1,4 +1,5 @@ #nullable enable +using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Media.Imaging; using WImage = Microsoft.UI.Xaml.Controls.Image; @@ -14,6 +15,12 @@ public static void Clear(this WImage imageView) public static void UpdateAspect(this WImage imageView, IImage image) { imageView.Stretch = image.Aspect.ToStretch(); + + if (image.Aspect == Aspect.AspectFill) + { + imageView.VerticalAlignment = VerticalAlignment.Center; + imageView.HorizontalAlignment = HorizontalAlignment.Center; + } } public static void UpdateIsAnimationPlaying(this WImage imageView, IImageSourcePart image) diff --git a/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt index 9106ef6dac6b..6020d8d9d8d2 100644 --- a/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt @@ -45,6 +45,8 @@ Microsoft.Maui.SizeRequest.Equals(Microsoft.Maui.SizeRequest other) -> bool Microsoft.Maui.SoftInputExtensions override Microsoft.Maui.Handlers.ContentViewHandler.DisconnectHandler(Microsoft.Maui.Platform.ContentPanel! platformView) -> void override Microsoft.Maui.Handlers.ImageHandler.ConnectHandler(Microsoft.UI.Xaml.Controls.Image! platformView) -> void +override Microsoft.Maui.Handlers.ImageHandler.RemoveContainer() -> void +override Microsoft.Maui.Handlers.ImageHandler.SetupContainer() -> void override Microsoft.Maui.Handlers.MenuFlyoutHandler.DisconnectHandler(Microsoft.UI.Xaml.Controls.MenuFlyout! platformView) -> void override Microsoft.Maui.Layouts.FlexBasis.Equals(object? obj) -> bool override Microsoft.Maui.Layouts.FlexBasis.GetHashCode() -> int @@ -64,6 +66,8 @@ static Microsoft.Maui.GridLength.operator ==(Microsoft.Maui.GridLength left, Mic static Microsoft.Maui.Handlers.EditorHandler.MapIsSpellCheckEnabled(Microsoft.Maui.Handlers.IEditorHandler! handler, Microsoft.Maui.IEditor! editor) -> void static Microsoft.Maui.Handlers.EntryHandler.MapIsSpellCheckEnabled(Microsoft.Maui.Handlers.IEntryHandler! handler, Microsoft.Maui.IEntry! entry) -> void static Microsoft.Maui.Handlers.LayoutHandler.MapInputTransparent(Microsoft.Maui.ILayoutHandler! handler, Microsoft.Maui.ILayout! layout) -> void +static Microsoft.Maui.Handlers.ImageHandler.MapHeight(Microsoft.Maui.Handlers.IImageHandler! handler, Microsoft.Maui.IImage! view) -> void +static Microsoft.Maui.Handlers.ImageHandler.MapWidth(Microsoft.Maui.Handlers.IImageHandler! handler, Microsoft.Maui.IImage! view) -> void static Microsoft.Maui.Handlers.SearchBarHandler.MapIsSpellCheckEnabled(Microsoft.Maui.Handlers.ISearchBarHandler! handler, Microsoft.Maui.ISearchBar! searchBar) -> void static Microsoft.Maui.Handlers.SwipeItemMenuItemHandler.MapSourceAsync(Microsoft.Maui.Handlers.ISwipeItemMenuItemHandler! handler, Microsoft.Maui.ISwipeItemMenuItem! image) -> System.Threading.Tasks.Task! static Microsoft.Maui.Hosting.MauiHandlersCollectionExtensions.AddHandler(this Microsoft.Maui.Hosting.IMauiHandlersCollection! handlersCollection, System.Func! handlerImplementationFactory) -> Microsoft.Maui.Hosting.IMauiHandlersCollection! From aebc65b5c2a782d303b27006f2eb511834286bc8 Mon Sep 17 00:00:00 2001 From: James Parsons Date: Thu, 4 Apr 2024 13:29:48 -0700 Subject: [PATCH 2/8] Add ui test --- .../Issues/Issue17665.cs | 22 ++++++++++++++++ .../tests/UITests/Tests/Issues/Issue17665.cs | 26 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 src/Controls/samples/Controls.Sample.UITests/Issues/Issue17665.cs create mode 100644 src/Controls/tests/UITests/Tests/Issues/Issue17665.cs diff --git a/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17665.cs b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17665.cs new file mode 100644 index 000000000000..c811c898a488 --- /dev/null +++ b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17665.cs @@ -0,0 +1,22 @@ +using Microsoft.Maui.Controls; + +namespace Maui.Controls.Sample.Issues +{ + [Issue(IssueTracker.Github, 17665, "Image is not centered in AspectFill mode", PlatformAffected.UWP)] + public class Issue17665 : TestContentPage + { + protected override void Init() + { + Content = + new Grid() + { + new Image() + { + AutomationId = "AspectFillImage", + Aspect = Microsoft.Maui.Aspect.AspectFill, + WidthRequest = 100, + } + }; + } + } +} diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17665.cs b/src/Controls/tests/UITests/Tests/Issues/Issue17665.cs new file mode 100644 index 000000000000..7659ac379882 --- /dev/null +++ b/src/Controls/tests/UITests/Tests/Issues/Issue17665.cs @@ -0,0 +1,26 @@ +using NUnit.Framework; +using UITest.Appium; +using UITest.Core; + +namespace Microsoft.Maui.AppiumTests.Issues +{ + public class Issue17665 : _IssuesUITest + { + public Issue17665(TestDevice device) : base(device) + { + } + + public override string Issue => "Image is not centered in AspectFill mode"; + + [Test] + [Category(UITestCategories.ActionSheet)] + public void Issue17665Test() + { + this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Mac, TestDevice.iOS }, "Only affects Windows."); + + App.WaitForElement("AspectFillImage", timeout: TimeSpan.FromSeconds(4)); + + VerifyScreenshot(); + } + } +} From 5ea1847ad774efc12369d52ac86831e2632eb0df Mon Sep 17 00:00:00 2001 From: James Parsons Date: Tue, 16 Apr 2024 17:04:00 -0700 Subject: [PATCH 3/8] Rename test files to correct issue --- .../Issues/{Issue17665.cs => Issue10645.cs} | 5 +++-- .../UITests/Tests/Issues/{Issue17665.cs => Issue10645.cs} | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) rename src/Controls/samples/Controls.Sample.UITests/Issues/{Issue17665.cs => Issue10645.cs} (72%) rename src/Controls/tests/UITests/Tests/Issues/{Issue17665.cs => Issue10645.cs} (79%) diff --git a/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17665.cs b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue10645.cs similarity index 72% rename from src/Controls/samples/Controls.Sample.UITests/Issues/Issue17665.cs rename to src/Controls/samples/Controls.Sample.UITests/Issues/Issue10645.cs index c811c898a488..ed6935eb64c1 100644 --- a/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17665.cs +++ b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue10645.cs @@ -2,8 +2,8 @@ namespace Maui.Controls.Sample.Issues { - [Issue(IssueTracker.Github, 17665, "Image is not centered in AspectFill mode", PlatformAffected.UWP)] - public class Issue17665 : TestContentPage + [Issue(IssueTracker.Github, 10645, "Image is not centered in AspectFill mode", PlatformAffected.UWP)] + public class Issue10645 : TestContentPage { protected override void Init() { @@ -15,6 +15,7 @@ protected override void Init() AutomationId = "AspectFillImage", Aspect = Microsoft.Maui.Aspect.AspectFill, WidthRequest = 100, + HeightRequest = 200, } }; } diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17665.cs b/src/Controls/tests/UITests/Tests/Issues/Issue10645.cs similarity index 79% rename from src/Controls/tests/UITests/Tests/Issues/Issue17665.cs rename to src/Controls/tests/UITests/Tests/Issues/Issue10645.cs index 7659ac379882..c39f59913c61 100644 --- a/src/Controls/tests/UITests/Tests/Issues/Issue17665.cs +++ b/src/Controls/tests/UITests/Tests/Issues/Issue10645.cs @@ -4,9 +4,9 @@ namespace Microsoft.Maui.AppiumTests.Issues { - public class Issue17665 : _IssuesUITest + public class Issue10645 : _IssuesUITest { - public Issue17665(TestDevice device) : base(device) + public Issue10645(TestDevice device) : base(device) { } @@ -14,7 +14,7 @@ public Issue17665(TestDevice device) : base(device) [Test] [Category(UITestCategories.ActionSheet)] - public void Issue17665Test() + public void Issue10645Test() { this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Mac, TestDevice.iOS }, "Only affects Windows."); From 25fee2c3dd5a24a007c49fd76b8b434dafb41645 Mon Sep 17 00:00:00 2001 From: James Parsons Date: Wed, 17 Apr 2024 19:39:33 -0700 Subject: [PATCH 4/8] Update Issue10645.cs --- .../samples/Controls.Sample.UITests/Issues/Issue10645.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Controls/samples/Controls.Sample.UITests/Issues/Issue10645.cs b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue10645.cs index ed6935eb64c1..b1cbd54d6f7d 100644 --- a/src/Controls/samples/Controls.Sample.UITests/Issues/Issue10645.cs +++ b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue10645.cs @@ -16,6 +16,7 @@ protected override void Init() Aspect = Microsoft.Maui.Aspect.AspectFill, WidthRequest = 100, HeightRequest = 200, + Source = "dotnet_bot.png", } }; } From d6f40dd33ea41ae1c371e96e6fed0516af25df29 Mon Sep 17 00:00:00 2001 From: James Parsons Date: Wed, 17 Apr 2024 23:35:34 -0700 Subject: [PATCH 5/8] Add files via upload --- .../snapshots/windows/Issue10645Test.png | Bin 0 -> 24786 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/Controls/tests/UITests/snapshots/windows/Issue10645Test.png diff --git a/src/Controls/tests/UITests/snapshots/windows/Issue10645Test.png b/src/Controls/tests/UITests/snapshots/windows/Issue10645Test.png new file mode 100644 index 0000000000000000000000000000000000000000..0ad02ca2c9e3792586d807af90f0989fae9b3f4a GIT binary patch literal 24786 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 Date: Fri, 16 Aug 2024 16:10:45 -0500 Subject: [PATCH 6/8] - fix namespace --- .../tests/TestCases.Shared.Tests/Tests/Issues/Issue10645.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue10645.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue10645.cs index c39f59913c61..2f354f5fd6bd 100644 --- a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue10645.cs +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue10645.cs @@ -2,7 +2,7 @@ using UITest.Appium; using UITest.Core; -namespace Microsoft.Maui.AppiumTests.Issues +namespace Microsoft.Maui.TestCases.Tests.Issues { public class Issue10645 : _IssuesUITest { From 51ac17cffe02285f9e385a5fa4aa337fe3af55cf Mon Sep 17 00:00:00 2001 From: Shane Neuville Date: Fri, 16 Aug 2024 16:23:40 -0500 Subject: [PATCH 7/8] - remove windows --- .../tests/TestCases.Shared.Tests/Tests/Issues/Issue10645.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue10645.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue10645.cs index 2f354f5fd6bd..ae57fa2bdcc1 100644 --- a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue10645.cs +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue10645.cs @@ -1,4 +1,5 @@ -using NUnit.Framework; +#if WINDOWS +using NUnit.Framework; using UITest.Appium; using UITest.Core; @@ -16,11 +17,10 @@ public Issue10645(TestDevice device) : base(device) [Category(UITestCategories.ActionSheet)] public void Issue10645Test() { - this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Mac, TestDevice.iOS }, "Only affects Windows."); - App.WaitForElement("AspectFillImage", timeout: TimeSpan.FromSeconds(4)); VerifyScreenshot(); } } } +#endif \ No newline at end of file From 117ea8f370b64f3bf25d5a880ad55aa368b5ffac Mon Sep 17 00:00:00 2001 From: Mike Corsaro Date: Tue, 20 Aug 2024 11:08:35 -0700 Subject: [PATCH 8/8] Update ref image to remove titlebar --- .../snapshots/windows/Issue10645Test.png | Bin 24786 -> 24814 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/Issue10645Test.png b/src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/Issue10645Test.png index 0ad02ca2c9e3792586d807af90f0989fae9b3f4a..1095a017d53ade7478873976c6fb248817088c7a 100644 GIT binary patch delta 21077 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 m2L$4V8+b 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