diff --git a/src/Avalonia.Controls/DefinitionBase.cs b/src/Avalonia.Controls/DefinitionBase.cs
index 38fc375631..3301d23f61 100644
--- a/src/Avalonia.Controls/DefinitionBase.cs
+++ b/src/Avalonia.Controls/DefinitionBase.cs
@@ -43,13 +43,11 @@ namespace Avalonia.Controls
/// Internal helper to access up-to-date UserMaxSize property value.
///
internal abstract double UserMaxSize { get; }
-
- private double _minSize; // used during measure to accumulate size for "Auto" and "Star" DefinitionBase's
///
/// Layout-time user size type.
///
- internal Grid.LayoutTimeSizeType SizeType {get; set;}
+ internal Grid.LayoutTimeSizeType SizeType { get; set; }
///
/// Returns or sets measure size for the definition.
///
@@ -81,17 +79,9 @@ namespace Avalonia.Controls
internal double SizeCache { get; set; }
///
- /// Returns min size.
+ /// Used during measure to accumulate size for "Auto" and "Star" DefinitionBase's
///
- internal double MinSize
- {
- get
- {
- double minSize = _minSize;
- return (minSize);
- }
-
- }
+ internal double MinSize { get; set; }
///
/// Updates min size.
@@ -99,28 +89,7 @@ namespace Avalonia.Controls
/// New size.
internal void UpdateMinSize(double minSize)
{
- _minSize = Math.Max(_minSize, minSize);
- }
-
- ///
- /// Sets min size.
- ///
- /// New size.
- internal void SetMinSize(double minSize)
- {
- _minSize = minSize;
- }
-
- ///
- /// Returns min size, always taking into account shared state.
- ///
- internal double MinSizeForArrange
- {
- get
- {
- double minSize = _minSize;
- return (minSize);
- }
+ MinSize = Math.Max(MinSize, minSize);
}
///
diff --git a/src/Avalonia.Controls/GridWPF.cs b/src/Avalonia.Controls/GridWPF.cs
index d86ec4c1c0..970b4de865 100644
--- a/src/Avalonia.Controls/GridWPF.cs
+++ b/src/Avalonia.Controls/GridWPF.cs
@@ -708,7 +708,7 @@ namespace Avalonia.Controls
for (int i = 0; i < definitions.Length; ++i)
{
// Reset minimum size.
- definitions[i].SetMinSize(0);
+ definitions[i].MinSize = 0;
double userMinSize = definitions[i].UserMinSize;
double userMaxSize = definitions[i].UserMaxSize;
@@ -719,7 +719,7 @@ namespace Avalonia.Controls
case (GridUnitType.Pixel):
definitions[i].SizeType = LayoutTimeSizeType.Pixel;
userSize = definitions[i].UserSize.Value;
-
+
// this was brought with NewLayout and defeats squishy behavior
userMinSize = Math.Max(userMinSize, Math.Min(userSize, userMaxSize));
break;
@@ -784,11 +784,11 @@ namespace Avalonia.Controls
{
if (isRows)
{
- DefinitionsV[i].SetMinSize(minSizes[i]);
+ DefinitionsV[i].MinSize = minSizes[i];
}
else
{
- DefinitionsU[i].SetMinSize(minSizes[i]);
+ DefinitionsU[i].MinSize = minSizes[i];
}
}
}
@@ -1642,14 +1642,14 @@ namespace Avalonia.Controls
double starWeight = StarWeight(def, scale);
totalStarWeight += starWeight;
- if (def.MinSizeForArrange > 0.0)
+ if (def.MinSize > 0.0)
{
// store ratio w/min in MeasureSize (for now)
definitionIndices[minCount++] = i;
- def.MeasureSize = starWeight / def.MinSizeForArrange;
+ def.MeasureSize = starWeight / def.MinSize;
}
- double effectiveMaxSize = Math.Max(def.MinSizeForArrange, def.UserMaxSize);
+ double effectiveMaxSize = Math.Max(def.MinSize, def.UserMaxSize);
if (!double.IsPositiveInfinity(effectiveMaxSize))
{
// store ratio w/max in SizeCache (for now)
@@ -1669,7 +1669,7 @@ namespace Avalonia.Controls
break;
case (GridUnitType.Auto):
- userSize = def.MinSizeForArrange;
+ userSize = def.MinSize;
break;
}
@@ -1688,7 +1688,7 @@ namespace Avalonia.Controls
userMaxSize = def.UserMaxSize;
}
- def.SizeCache = Math.Max(def.MinSizeForArrange, Math.Min(userSize, userMaxSize));
+ def.SizeCache = Math.Max(def.MinSize, Math.Min(userSize, userMaxSize));
takenSize += def.SizeCache;
}
}
@@ -1752,14 +1752,14 @@ namespace Avalonia.Controls
{
resolvedIndex = definitionIndices[minCount - 1];
resolvedDef = definitions[resolvedIndex];
- resolvedSize = resolvedDef.MinSizeForArrange;
+ resolvedSize = resolvedDef.MinSize;
--minCount;
}
else
{
resolvedIndex = definitionIndices[defCount + maxCount - 1];
resolvedDef = definitions[resolvedIndex];
- resolvedSize = Math.Max(resolvedDef.MinSizeForArrange, resolvedDef.UserMaxSize);
+ resolvedSize = Math.Max(resolvedDef.MinSize, resolvedDef.UserMaxSize);
--maxCount;
}
@@ -1882,7 +1882,7 @@ namespace Avalonia.Controls
// min and max should have no effect by now, but just in case...
resolvedSize = Math.Min(resolvedSize, def.UserMaxSize);
- resolvedSize = Math.Max(def.MinSizeForArrange, resolvedSize);
+ resolvedSize = Math.Max(def.MinSize, resolvedSize);
// Use the raw (unrounded) sizes to update takenSize, so that
// proportions are computed in the same terms as in phase 3;
@@ -1974,7 +1974,7 @@ namespace Avalonia.Controls
{
DefinitionBase definition = definitions[definitionIndices[i]];
double final = definition.SizeCache - dpiIncrement;
- final = Math.Max(final, definition.MinSizeForArrange);
+ final = Math.Max(final, definition.MinSize);
if (final < definition.SizeCache)
{
adjustedSize -= dpiIncrement;
@@ -1990,7 +1990,7 @@ namespace Avalonia.Controls
{
DefinitionBase definition = definitions[definitionIndices[i]];
double final = definition.SizeCache + dpiIncrement;
- final = Math.Max(final, definition.MinSizeForArrange);
+ final = Math.Max(final, definition.MinSize);
if (final > definition.SizeCache)
{
adjustedSize += dpiIncrement;