From 51abbfe6cf101ed3c516532cdfcd24b2a602cdcd Mon Sep 17 00:00:00 2001 From: Mike Corsaro Date: Thu, 7 Sep 2023 16:22:17 -0700 Subject: [PATCH] Fix collection default spacing, also re-enable the failing test --- .../Extensions/CollectionViewExtensions.cs | 24 +++++++++++++++++-- .../CollectionViewTests.Windows.cs | 2 +- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/Controls/src/Core/Platform/Windows/Extensions/CollectionViewExtensions.cs b/src/Controls/src/Core/Platform/Windows/Extensions/CollectionViewExtensions.cs index 0bf74499f58c..9d88ce626154 100644 --- a/src/Controls/src/Core/Platform/Windows/Extensions/CollectionViewExtensions.cs +++ b/src/Controls/src/Core/Platform/Windows/Extensions/CollectionViewExtensions.cs @@ -19,9 +19,19 @@ public static class CollectionViewExtensions var style = new WStyle(typeof(GridViewItem)); + if (layout?.Orientation == ItemsLayoutOrientation.Vertical) + { + style.Setters.Add(new WSetter(FrameworkElement.MinHeightProperty, 0)); + style.Setters.Add(new WSetter(Control.HorizontalContentAlignmentProperty, HorizontalAlignment.Stretch)); + } + else if (layout?.Orientation == ItemsLayoutOrientation.Horizontal) + { + style.Setters.Add(new WSetter(FrameworkElement.MinWidthProperty, 0)); + style.Setters.Add(new WSetter(Control.VerticalContentAlignmentProperty, VerticalAlignment.Stretch)); + } + style.Setters.Add(new WSetter(FrameworkElement.MarginProperty, margin)); style.Setters.Add(new WSetter(Control.PaddingProperty, WinUIHelpers.CreateThickness(0))); - style.Setters.Add(new WSetter(Control.HorizontalContentAlignmentProperty, HorizontalAlignment.Stretch)); return style; } @@ -37,9 +47,19 @@ public static class CollectionViewExtensions var style = new WStyle(typeof(GridViewItem)); + if (layout?.Orientation == ItemsLayoutOrientation.Vertical) + { + style.Setters.Add(new WSetter(FrameworkElement.MinHeightProperty, 0)); + style.Setters.Add(new WSetter(Control.HorizontalContentAlignmentProperty, HorizontalAlignment.Stretch)); + } + else if (layout?.Orientation == ItemsLayoutOrientation.Horizontal) + { + style.Setters.Add(new WSetter(FrameworkElement.MinWidthProperty, 0)); + style.Setters.Add(new WSetter(Control.VerticalContentAlignmentProperty, VerticalAlignment.Stretch)); + } + style.Setters.Add(new WSetter(FrameworkElement.MarginProperty, margin)); style.Setters.Add(new WSetter(Control.PaddingProperty, WinUIHelpers.CreateThickness(0))); - style.Setters.Add(new WSetter(Control.HorizontalContentAlignmentProperty, HorizontalAlignment.Stretch)); return style; } diff --git a/src/Controls/tests/DeviceTests/Elements/CollectionView/CollectionViewTests.Windows.cs b/src/Controls/tests/DeviceTests/Elements/CollectionView/CollectionViewTests.Windows.cs index c45a9ad76ada..a4eb1e2f914f 100644 --- a/src/Controls/tests/DeviceTests/Elements/CollectionView/CollectionViewTests.Windows.cs +++ b/src/Controls/tests/DeviceTests/Elements/CollectionView/CollectionViewTests.Windows.cs @@ -54,7 +54,7 @@ await CreateHandlerAndAddToWindow(layout, (handler) => }); } - [Fact(Skip = "FIX FOR .NET8")] + [Fact] public async Task ValidateItemContainerDefaultHeight() { SetupBuilder();