private static void shapePropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ShapeDrawingCanvas canvas = d as ShapeDrawingCanvas;

            if (canvas != null)
            {
                canvas.OnShapesChanged(e.NewValue, e.OldValue);
            }
        }
        private static void ZoomPropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ShapeDrawingCanvas canvas = d as ShapeDrawingCanvas;

            if (canvas != null)
            {
                canvas.Refresh(canvas.Shapes);
            }
        }