From 5540eedbcfab223b42c78346aa3dae2493953dbf Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Sun, 20 Mar 2022 15:09:42 +0800 Subject: [PATCH] fix: fixed a measure issue of RelativePanel --- .../Controls/Panel/RelativePanel.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Shared/HandyControl_Shared/Controls/Panel/RelativePanel.cs b/src/Shared/HandyControl_Shared/Controls/Panel/RelativePanel.cs index 2d379b18..410341a7 100644 --- a/src/Shared/HandyControl_Shared/Controls/Panel/RelativePanel.cs +++ b/src/Shared/HandyControl_Shared/Controls/Panel/RelativePanel.cs @@ -417,10 +417,18 @@ public class RelativePanel : Panel public void Measure(Size availableSize) { - AvailableSize = availableSize; + AvailableSize = EnsureValidSize(availableSize); Measure(_nodeDic.Values, null); } + private static Size EnsureValidSize(Size size) + { + var width = double.IsInfinity(size.Width) ? 0 : size.Width; + var height = double.IsInfinity(size.Height) ? 0 : size.Height; + + return new Size(width, height); + } + private void Measure(IEnumerable nodes, HashSet set) { set ??= new HashSet();