/// <inheritdoc/> public IVisual UpdateVisual(IRenderContext context, IVisual oldVisual) { MyVisual container = oldVisual as MyVisual; if (container == null) { return(CreateVisual(context)); } var delegateStyle = GetCurrentStyle(label, labelStyle); if (container.Left != left || container.Insets != insets || container.Children.Count != 1) { return(CreateVisual(context)); } IVisual oldDelegateVisual = container.Children[0]; IVisual newDelegateVisual = delegateStyle.Renderer.GetVisualCreator(label, delegateStyle).UpdateVisual(context, oldDelegateVisual); if (oldDelegateVisual != newDelegateVisual) { container.Children[0] = newDelegateVisual; } container.Insets = insets; container.Left = left; return(container); }
/// <inheritdoc/> public IVisual CreateVisual(IRenderContext context) { var container = new MyVisual { Left = left, Insets = insets }; var delegateStyle = GetCurrentStyle(label, labelStyle); container.Add(delegateStyle.Renderer.GetVisualCreator(label, delegateStyle).CreateVisual(context)); return(container); }