private static void TransformPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            CanvasShape cs = ((CanvasShape)d);

            if (!cs.DisplayGeometry.IsFrozen)
            {
                cs.DisplayGeometry.Transform = cs.Transform;
            }
        }
        private static object GeometryCoerceValueCallback(DependencyObject d, object baseValue)
        {
            CanvasShape cs = ((CanvasShape)d);

            if (baseValue == null)
            {
                cs.creatingNewShape = true;
                return(null);
            }
            cs.creatingNewShape = false;
            return(baseValue);
        }
Exemple #3
0
        private void CanvasShape_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (leftClickingOnShape)
            {
                CanvasShape canvasShape = (CanvasShape)sender;
                CollectionViewSource.GetDefaultView(Layers).MoveCurrentTo(canvasShape.Layer);
                CollectionViewSource.GetDefaultView(canvasShape.Layer.Shapes).MoveCurrentTo(canvasShape.DataContext);

                Deselect();
                selectedShapes.Add(canvasShape);
                PlaceThumbs(canvasShape.DisplayGeometry);
            }
            leftClickingOnShape = false;
        }
        private static void GeometryPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (e.NewValue == null)
            {
                return;
            }
            CanvasShape cs = ((CanvasShape)d);

            if (!cs.isCommiting)
            {
                cs.geoPathGeometry = pathGeometryWriter.ToShape(e.NewValue as IGeometry) as PathGeometry;
                cs.path.Data       = cs.DisplayGeometry = cs.geoPathGeometry.Clone();
                cs.RebuildShape();
            }
        }