From 528c105b3aea0e6e00477365f16f57c1e3d7eb1c Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 24 十月 2019 15:31:28 +0800
Subject: [PATCH] 2019-10-24-3

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs
index 34fa16f..3d529e1 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs
@@ -15,6 +15,10 @@
         /// 琛屼箣闂寸殑闂磋窛
         /// </summary>
         public int rowSpace = 0;
+        /// <summary>
+        /// 鏈�澶ч珮搴�
+        /// </summary>
+        private int maxHeight = -1;
 
         #endregion
 
@@ -47,7 +51,54 @@
                     view.Height += rowSpace;
                 }
             }
+            if (maxHeight == -1)
+            {
+                maxHeight = this.Height;
+            }
         }
         #endregion
+
+        #region 鈻� 璋冩暣鐪熷疄楂樺害_______________________
+
+        /// <summary>
+        /// 杩樺師楂樺害
+        /// </summary>
+        public void RecoverHeight()
+        {
+            if (this.maxHeight != -1)
+            {
+                this.Height = this.maxHeight;
+            }
+        }
+
+        /// <summary>
+        /// 璋冩暣鎺т欢鐪熷疄楂樺害(鍙拡瀵硅鎺т欢閮芥槸鐩稿悓楂樺害鐨�,楂樺害鍙細鍑忓皯,涓嶄細澧炲姞)
+        /// </summary>
+        /// <param name="bottomSpace">搴曢儴绌虹櫧闂磋窛(鐪熷疄鍊�)</param>
+        /// <param name="addSpace">褰撶湡瀹為珮搴﹁秴杩囧師鏈夐珮搴︽椂,鏄惁娣诲姞绌虹櫧</param>
+        public void AdjustRealHeight(int bottomSpace, bool addSpace = true)
+        {
+            if (this.ChildrenCount == 0)
+            {
+                //杩樺師涓烘渶澶ч珮搴�
+                this.Height = maxHeight;
+                return;
+            }
+            //璋冩暣鍒楄〃鎺т欢鐨勯珮搴�
+            var realHeight = this.ChildrenCount * this.GetChildren(0).Height + bottomSpace;
+            if (realHeight < this.Height)
+            {
+                //缂╁皬鎺т欢楂樺害
+                this.Height = realHeight;
+            }
+            else if (addSpace == true && bottomSpace > 0 && realHeight > this.maxHeight)
+            {
+                var frameBack = new FrameLayout();
+                frameBack.Height = bottomSpace;
+                this.AddChidren(frameBack);
+            }
+        }
+
+        #endregion
     }
 }

--
Gitblit v1.8.0