From 808ba8b9be40567b1ec412c0377eded7c6ac9eb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=8A=B9=EA=B7=BC/Common=20Platform=20Lab=28SR?= =?UTF-8?q?=29/Staff=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Mon, 9 Aug 2021 12:49:34 +0900 Subject: [PATCH] Fix GetDesiredSize (#87) * Fix GetDesiredSize * update for readability --- .../src/Handlers/View/ViewHandlerOfT.Tizen.cs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Core/src/Handlers/View/ViewHandlerOfT.Tizen.cs b/src/Core/src/Handlers/View/ViewHandlerOfT.Tizen.cs index 7cacf9121581..ec36f5c438ae 100644 --- a/src/Core/src/Handlers/View/ViewHandlerOfT.Tizen.cs +++ b/src/Core/src/Handlers/View/ViewHandlerOfT.Tizen.cs @@ -61,14 +61,9 @@ public override Size GetDesiredSize(double widthConstraint, double heightConstra { var nativeView = NativeView; - if (nativeView == null || VirtualView == null) + if (nativeView == null || VirtualView == null || NativeParent == null) { - return Size.Zero; - } - - if (NativeParent == null) - { - return new Size(widthConstraint, heightConstraint); + return VirtualView == null ? Size.Zero : new Size(VirtualView.Width, VirtualView.Height); } int availableWidth = widthConstraint.ToScaledPixel(); @@ -79,9 +74,13 @@ public override Size GetDesiredSize(double widthConstraint, double heightConstra if (availableHeight < 0) availableHeight = int.MaxValue; + var explicitWidth = VirtualView.Width; + var explicitHeight = VirtualView.Height; + var hasExplicitWidth = explicitWidth >= 0; + var hasExplicitHeight = explicitHeight >= 0; + Size measured; - var nativeViewMeasurable = nativeView as IMeasurable; - if (nativeViewMeasurable != null) + if (nativeView is IMeasurable nativeViewMeasurable) { measured = nativeViewMeasurable.Measure(availableWidth, availableHeight).ToDP(); } @@ -90,7 +89,8 @@ public override Size GetDesiredSize(double widthConstraint, double heightConstra measured = Measure(availableWidth, availableHeight); } - return measured; + return new Size(hasExplicitWidth ? explicitWidth : measured.Width, + hasExplicitHeight ? explicitHeight : measured.Height); } public virtual ERect GetNativeContentGeometry()