Homogenous mode should be set to false if grouping is enabled
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Wed, 21 Dec 2016 07:28:05 +0000 (08:28 +0100)
committerKangho Hur <kangho.hur@samsung.com>
Fri, 24 Mar 2017 04:18:58 +0000 (13:18 +0900)
Change-Id: I01327d4c0be6847445c4711d5c4cb6f60f3ba6a9
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
Xamarin.Forms.Platform.Tizen/Native/ListView.cs

index d5531dc..e932a28 100644 (file)
@@ -85,10 +85,32 @@ namespace Xamarin.Forms.Platform.Tizen.Native
                GenItemClass _headerFooterItemClass = null;
 
                /// <summary>
+               /// Indicates if the list view has uneven rows.
+               /// </summary>
+               bool _hasUnevenRows = false;
+
+               /// <summary>
+               /// Indicates if grouping in the list view is enabled.
+               /// </summary>
+               bool _isGroupingEnabled = false;
+
+               /// <summary>
                /// Gets or sets a value indicating whether this instance has grouping enabled.
                /// </summary>
                /// <value><c>true</c> if this instance has grouping enabled.</value>
-               public bool IsGroupingEnabled { get; set; }
+               public bool IsGroupingEnabled
+               {
+                       get
+                       {
+                               return _isGroupingEnabled;
+                       }
+
+                       set
+                       {
+                               _isGroupingEnabled = value;
+                               UpdateHomogeneousMode();
+                       }
+               }
 
                /// <summary>
                /// Constructor of ListView native control.
@@ -124,7 +146,8 @@ namespace Xamarin.Forms.Platform.Tizen.Native
                /// <param name="hasUnevenRows">If <c>true</c>, the list will allow uneven sizes for its rows.</param>
                public void SetHasUnevenRows(bool hasUnevenRows)
                {
-                       Homogeneous = !hasUnevenRows;
+                       _hasUnevenRows = hasUnevenRows;
+                       UpdateHomogeneousMode();
                        UpdateRealizedItems();
                }
 
@@ -597,5 +620,13 @@ namespace Xamarin.Forms.Platform.Tizen.Native
                        }
                        return _headerFooterItemClass;
                }
+
+               /// <summary>
+               /// Updates the homogeneous mode of the list view.
+               /// </summary>
+               void UpdateHomogeneousMode()
+               {
+                       Homogeneous = !_hasUnevenRows && !_isGroupingEnabled;
+               }
        }
 }