Ejemplo n.º 1
0
        public ResizeAdorner(PanelDesigner panelDesigner, UIElement adornedElement)
            : base(adornedElement)
        {
            m_panelDesigner = panelDesigner;
            m_panelDesigner.SelectedElementChanged += m_panelDesigner_SelectedElementChanged;
            m_visualChildren = new VisualCollection(this);

            m_rectangle = new Rectangle();
            m_rectangle.Stroke = m_panelDesigner.SelectedElement == AdornedElement ? Brushes.CornflowerBlue : Brushes.LightBlue;
            m_rectangle.StrokeThickness = 1;
            m_visualChildren.Add(m_rectangle);

            BuildResizeAdorner(ref m_bottom, Cursors.SizeNS);
            BuildResizeAdorner(ref m_bottomLeft, Cursors.SizeNESW);
            BuildResizeAdorner(ref m_bottomRight, Cursors.SizeNWSE);
            BuildResizeAdorner(ref m_left, Cursors.SizeWE);
            BuildResizeAdorner(ref m_right, Cursors.SizeWE);
            BuildResizeAdorner(ref m_top, Cursors.SizeNS);
            BuildResizeAdorner(ref m_topLeft, Cursors.SizeNWSE);
            BuildResizeAdorner(ref m_topRight, Cursors.SizeNESW);

            m_bottom.DragDelta += new DragDeltaEventHandler(HandleBottom);
            m_bottomLeft.DragDelta += new DragDeltaEventHandler(HandleBottomLeft);
            m_bottomRight.DragDelta += new DragDeltaEventHandler(HandleBottomRight);
            m_left.DragDelta += new DragDeltaEventHandler(HandleLeft);
            m_right.DragDelta += new DragDeltaEventHandler(HandleRight);
            m_top.DragDelta += new DragDeltaEventHandler(HandleTop);
            m_topLeft.DragDelta += new DragDeltaEventHandler(HandleTopLeft);
            m_topRight.DragDelta += new DragDeltaEventHandler(HandleTopRight);
        }
Ejemplo n.º 2
0
        public RubberbandAdorner(PanelDesigner panelDesigner, UIElement adornedElement, Point? startPoint)
            : base(adornedElement)
        {
            m_panelDesigner = panelDesigner;
            m_startPoint = startPoint;

            m_visualChildren = new VisualCollection(this);

            m_adornerCanvas = new Canvas();
            m_adornerCanvas.Background = Brushes.Transparent;
            //m_adornerCanvas.Background = Brushes.Yellow;
            m_visualChildren.Add(m_adornerCanvas);

            m_rubberBand = new Rectangle();
            m_rubberBand.Stroke = Brushes.Black;
            m_rubberBand.StrokeThickness = 1;
            m_rubberBand.StrokeDashArray = new DoubleCollection(new double[] { 2 });
            m_adornerCanvas.Children.Add(m_rubberBand);
        }
Ejemplo n.º 3
0
        public AlignAdorner(PanelDesigner panelDesigner)
            : base(panelDesigner)
        {
            m_panelDesigner = panelDesigner;
            m_visualChildren = new VisualCollection(this);

            m_adornerCanvas = new Canvas();
            m_adornerCanvas.Background = null;
            m_visualChildren.Add(m_adornerCanvas);

            m_leftLine = new Line();
            m_leftLine.Stroke = Brushes.Green;
            m_leftLine.StrokeDashArray = new DoubleCollection(new double[] { 2 });
            m_leftLine.StrokeThickness = 1;
            m_leftLine.Visibility = Visibility.Collapsed;
            m_adornerCanvas.Children.Add(m_leftLine);

            m_topLine = new Line();
            m_topLine.Stroke = Brushes.Green;
            m_topLine.StrokeDashArray = new DoubleCollection(new double[] { 2 });
            m_topLine.StrokeThickness = 1;
            m_topLine.Visibility = Visibility.Collapsed;
            m_adornerCanvas.Children.Add(m_topLine);

            m_rightLine = new Line();
            m_rightLine.Stroke = Brushes.Green;
            m_rightLine.StrokeDashArray = new DoubleCollection(new double[] { 2 });
            m_rightLine.StrokeThickness = 1;
            m_rightLine.Visibility = Visibility.Collapsed;
            m_adornerCanvas.Children.Add(m_rightLine);

            m_bottomLine = new Line();
            m_bottomLine.Stroke = Brushes.Green;
            m_bottomLine.StrokeDashArray = new DoubleCollection(new double[] { 2 });
            m_bottomLine.StrokeThickness = 1;
            m_bottomLine.Visibility = Visibility.Collapsed;
            m_adornerCanvas.Children.Add(m_bottomLine);
        }