summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs
diff options
context:
space:
mode:
authorPiotr Bereza <p.bereza@samsung.com>2017-03-22 16:45:27 +0100
committerKangho Hur <kangho.hur@samsung.com>2017-07-10 11:11:24 +0900
commit2ba80f571a23077142b14b703bdc3378b879df02 (patch)
treed6052b28af80e35d4132cea7d6ee0b00e8de38f4 /Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs
parent649baa2d3d9021f5fff50dc24c4b0d0f25fa4fa5 (diff)
downloadxamarin-forms-2ba80f571a23077142b14b703bdc3378b879df02.tar.gz
xamarin-forms-2ba80f571a23077142b14b703bdc3378b879df02.tar.bz2
xamarin-forms-2ba80f571a23077142b14b703bdc3378b879df02.zip
New way of layout
Change-Id: I827d199fdc9be0f62a2a149ed2bd943c5ab76056 Signed-off-by: Piotr Bereza <p.bereza@samsung.com>
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs17
1 files changed, 15 insertions, 2 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs
index bf36afa4..2f723f3e 100644
--- a/Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs
+++ b/Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs
@@ -7,6 +7,8 @@ namespace Xamarin.Forms.Platform.Tizen
/// </summary>
public class LayoutRenderer : ViewRenderer<Layout, Native.Canvas>
{
+ bool _isLayoutUpdatedRegistered = false;
+
/// <summary>
/// Default constructor.
/// </summary>
@@ -14,12 +16,20 @@ namespace Xamarin.Forms.Platform.Tizen
{
}
+ public void RegisterOnLayoutUpdated()
+ {
+ if (!_isLayoutUpdatedRegistered)
+ {
+ Control.LayoutUpdated += OnLayoutUpdated;
+ _isLayoutUpdatedRegistered = true;
+ }
+ }
+
protected override void OnElementChanged(ElementChangedEventArgs<Layout> e)
{
if (null == Control)
{
var canvas = new Native.Canvas(Forms.Context.MainWindow);
- canvas.LayoutUpdated += OnLayoutUpdated;
SetNativeControl(canvas);
}
@@ -28,7 +38,10 @@ namespace Xamarin.Forms.Platform.Tizen
protected override void Dispose(bool disposing)
{
- Control.LayoutUpdated -= OnLayoutUpdated;
+ if (_isLayoutUpdatedRegistered)
+ {
+ Control.LayoutUpdated -= OnLayoutUpdated;
+ }
base.Dispose(disposing);
}