using System; namespace Xamarin.Forms.Platform.Tizen { /// /// Renderer of a Layout. /// public class LayoutRenderer : ViewRenderer { bool _layoutUpdatedRegistered = false; public void RegisterOnLayoutUpdated() { if (!_layoutUpdatedRegistered) { Control.LayoutUpdated += OnLayoutUpdated; _layoutUpdatedRegistered = true; } } protected override void OnElementChanged(ElementChangedEventArgs e) { if (null == Control) { SetNativeControl(new Native.Canvas(Forms.Context.MainWindow)); } base.OnElementChanged(e); } protected override void Dispose(bool disposing) { if (disposing) { if (_layoutUpdatedRegistered) { Control.LayoutUpdated -= OnLayoutUpdated; _layoutUpdatedRegistered = false; } } base.Dispose(disposing); } void OnLayoutUpdated(object sender, Native.LayoutEventArgs e) { DoLayout(e); } } }