protected override void DispatchDraw(Canvas canvas)
 {
     if (Element.IsClippedToBorder)
     {
         canvas.Save(SaveFlags.Clip);
         BorderRendererVisual.SetClipPath(this, canvas);
         base.DispatchDraw(canvas);
         canvas.Restore();
     }
     else
     {
         base.DispatchDraw(canvas);
     }
 }
 protected override void OnElementChanged(ElementChangedEventArgs <Border> e)
 {
     base.OnElementChanged(e);
     BorderRendererVisual.UpdateBackground(Element, this.ViewGroup);
 }
 protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     base.OnElementPropertyChanged(sender, e);
     BorderRendererVisual.UpdateBackground(Element, this.ViewGroup);
 }