protected override VisualGroup UpdateVisual(IRenderContext context, VisualGroup oldVisual, IStripe stripe) { IRectangle layout = stripe.Layout.ToRectD(); var rect = CanvasControl.GetCanvasControlArrangeRect(oldVisual); var arrangeRect = layout.ToRectD(); if (rect.Width != arrangeRect.Width || rect.Height != arrangeRect.Height) { GeneralPath outline = CreatePath(stripe, layout); var oldPath = (Path)oldVisual.Children[0]; outline.UpdatePath(oldPath, StripeDescriptor.BackgroundBrush, new Pen(StripeDescriptor.BorderBrush, StripeDescriptor.BorderThickness.Left), null, FillMode.Always); } oldVisual.SetCanvasArrangeRect(arrangeRect); return(oldVisual); }