summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Xamarin.Forms.Platform.Tizen/Native/ListView.cs35
1 files changed, 33 insertions, 2 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Native/ListView.cs b/Xamarin.Forms.Platform.Tizen/Native/ListView.cs
index d5531dc4..e932a28e 100644
--- a/Xamarin.Forms.Platform.Tizen/Native/ListView.cs
+++ b/Xamarin.Forms.Platform.Tizen/Native/ListView.cs
@@ -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;
+ }
}
}