summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Cells/ViewCellRenderer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Cells/ViewCellRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.Tizen/Cells/ViewCellRenderer.cs43
1 files changed, 43 insertions, 0 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Cells/ViewCellRenderer.cs b/Xamarin.Forms.Platform.Tizen/Cells/ViewCellRenderer.cs
new file mode 100644
index 00000000..69065c8a
--- /dev/null
+++ b/Xamarin.Forms.Platform.Tizen/Cells/ViewCellRenderer.cs
@@ -0,0 +1,43 @@
+using System.Collections.Generic;
+using ElmSharp;
+
+namespace Xamarin.Forms.Platform.Tizen
+{
+ public class ViewCellRenderer : CellRenderer
+ {
+ public ViewCellRenderer() : base("full")
+ {
+ MainContentPart = "elm.swallow.content";
+ }
+
+ protected string MainContentPart { get; set; }
+
+ protected override EvasObject OnGetContent(Cell cell, string part)
+ {
+ if (part == MainContentPart)
+ {
+ var viewCell = cell as ViewCell;
+ if (viewCell != null)
+ {
+ var renderer = Platform.GetOrCreateRenderer(viewCell.View);
+ int height = (int)viewCell.RenderHeight;
+ height = height <= 0 ? FindCellContentHeight(viewCell) : height;
+
+ renderer.NativeView.MinimumHeight = height;
+ return renderer.NativeView;
+ }
+ return null;
+ }
+ return null;
+ }
+
+ protected override bool OnCellPropertyChanged(Cell cell, string property, Dictionary<string, EvasObject> realizedView)
+ {
+ if (property == "View")
+ {
+ return true;
+ }
+ return base.OnCellPropertyChanged(cell, property, realizedView);
+ }
+ }
+}