diff options
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Cells/ViewCellRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Cells/ViewCellRenderer.cs | 43 |
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); + } + } +} |