Browse Source

Update UniformGridLayoutState.cs

Corrected implementation for
UniformGridLayout ItemsStretch Fill and Uniform
pull/9364/head
out4blood88 4 years ago
parent
commit
4160e9b19f
  1. 6
      src/Avalonia.Base/Layout/UniformGridLayoutState.cs

6
src/Avalonia.Base/Layout/UniformGridLayoutState.cs

@ -117,12 +117,12 @@ namespace Avalonia.Layout
double extraMinorPixelsForEachItem = 0.0; double extraMinorPixelsForEachItem = 0.0;
if (!double.IsInfinity(availableSizeMinor)) if (!double.IsInfinity(availableSizeMinor))
{ {
var numItemsPerColumn = Math.Min( var numItemsPerColumn = (int)Math.Min(
maxItemsPerLine, maxItemsPerLine,
Math.Max(1.0, availableSizeMinor / (itemSizeMinor + minorItemSpacing))); Math.Max(1.0, availableSizeMinor / (itemSizeMinor + minorItemSpacing)));
var usedSpace = (numItemsPerColumn * (itemSizeMinor + minorItemSpacing)) - minorItemSpacing; var usedSpace = (numItemsPerColumn * (itemSizeMinor + minorItemSpacing)) - minorItemSpacing;
var remainingSpace = ((int)(availableSizeMinor - usedSpace)); var remainingSpace = availableSizeMinor - usedSpace;
extraMinorPixelsForEachItem = remainingSpace / ((int)numItemsPerColumn); extraMinorPixelsForEachItem = (int)(remainingSpace / numItemsPerColumn);
} }
if (stretch == UniformGridLayoutItemsStretch.Fill) if (stretch == UniformGridLayoutItemsStretch.Fill)

Loading…
Cancel
Save