Skip to content

Commit 8c9f7ad

Browse files
authored
Fix FlowLayout LineSpacing and MinItemSpacing (#2275)
1 parent 3555cca commit 8c9f7ad

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed

dev/Repeater/APITests/FlowLayoutTests.cs

+18-11
Original file line numberDiff line numberDiff line change
@@ -1601,22 +1601,29 @@ private void ValidateLayoutEstimations(ScrollOrientation scrollOrientation, Layo
16011601
break;
16021602

16031603
case LayoutChoice.Grid:
1604-
var minRowSpacing = om.ScrollOrientation == ScrollOrientation.Vertical ? lineSpacing : 0;
1605-
var minColumnSpacing = om.ScrollOrientation == ScrollOrientation.Horizontal ? lineSpacing : 0;
1606-
layout = new UniformGridLayout() { MinItemWidth = itemSize, MinItemHeight = itemSize, MinRowSpacing = minRowSpacing, MinColumnSpacing = minColumnSpacing };
1604+
{
1605+
var minRowSpacing = om.ScrollOrientation == ScrollOrientation.Vertical ? lineSpacing : 0;
1606+
var minColumnSpacing = om.ScrollOrientation == ScrollOrientation.Horizontal ? lineSpacing : 0;
1607+
layout = new UniformGridLayout() { MinItemWidth = itemSize, MinItemHeight = itemSize, MinRowSpacing = minRowSpacing, MinColumnSpacing = minColumnSpacing };
1608+
}
16071609
break;
16081610

16091611
case LayoutChoice.Flow:
1610-
layout = new FlowLayoutDerived()
16111612
{
1612-
MinColumnSpacing = lineSpacing,
1613-
OnLineArrangedFunc = (int startIndex, int countInLine, double lineSize, VirtualizingLayoutContext context) =>
1613+
var minRowSpacing = om.ScrollOrientation == ScrollOrientation.Vertical ? lineSpacing : 0;
1614+
var minColumnSpacing = om.ScrollOrientation == ScrollOrientation.Horizontal ? lineSpacing : 0;
1615+
layout = new FlowLayoutDerived()
16141616
{
1615-
Verify.AreEqual(0, startIndex % 4);
1616-
Verify.AreEqual(4, countInLine);
1617-
Verify.AreEqual(lineSize, itemSize);
1618-
}
1619-
};
1617+
MinRowSpacing = minRowSpacing,
1618+
MinColumnSpacing = minColumnSpacing,
1619+
OnLineArrangedFunc = (int startIndex, int countInLine, double lineSize, VirtualizingLayoutContext context) =>
1620+
{
1621+
Verify.AreEqual(0, startIndex % 4);
1622+
Verify.AreEqual(4, countInLine);
1623+
Verify.AreEqual(lineSize, itemSize);
1624+
}
1625+
};
1626+
}
16201627
break;
16211628

16221629
default:

dev/Repeater/FlowLayout.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,12 @@ class FlowLayout :
145145

146146
double LineSpacing()
147147
{
148-
return ScrollOrientation() == ScrollOrientation::Vertical ? m_minColumnSpacing : m_minRowSpacing;
148+
return GetScrollOrientation() == ScrollOrientation::Vertical ? m_minRowSpacing : m_minColumnSpacing;
149149
}
150150

151151
double MinItemSpacing()
152152
{
153-
return ScrollOrientation() == ScrollOrientation::Vertical ? m_minRowSpacing : m_minColumnSpacing;
153+
return GetScrollOrientation() == ScrollOrientation::Vertical ? m_minColumnSpacing : m_minRowSpacing;
154154
}
155155

156156
// Fields

0 commit comments

Comments
 (0)