Beispiel #1
0
        private void team_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            System.Windows.Shapes.Rectangle r = sender as System.Windows.Shapes.Rectangle;

            _isRectDragInProg = r.CaptureMouse();
            movingRectangle   = r.Name;
        }
Beispiel #2
0
 /// <summary>
 /// 图像容器的左击鼠标事件,用于处理图像在容器中的移动始。
 /// </summary>
 private void BackFrame_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     System.Windows.Shapes.Rectangle img = sender as System.Windows.Shapes.Rectangle;
     if (img == null)
     {
         return;
     }
     img.CaptureMouse();
     mouseDown = true;
     mouseXY   = e.GetPosition(img);
 }
        private void drawingPanelMouseDown(object sender, MouseButtonEventArgs e)
        {
            _capturedPosition = e.GetPosition(drawingPanel);
            _mouseCaptured = true;
            _newRect = true;
            var rect = new Rectangle { Height = 1, Width = 1, Opacity = 0.2 };
            drawingPanel.Children.Add(rect);
            Canvas.SetLeft(rect, _capturedPosition.X);
            Canvas.SetTop(rect, _capturedPosition.Y);

            rect.CaptureMouse();
            rect.MouseMove += (_s,_e) =>
            {
                if (_mouseCaptured)
                {
                    if (_capturedPosition.Y < _e.GetPosition(drawingPanel).Y)
                    {
                        rect.Height = _e.GetPosition(drawingPanel).Y - _capturedPosition.Y;
                    }
                    else
                    {
                        rect.Height = _capturedPosition.Y - _e.GetPosition(drawingPanel).Y;
                        Canvas.SetTop(rect, _e.GetPosition(drawingPanel).Y);
                    }
                    if (_capturedPosition.X < _e.GetPosition(drawingPanel).X)
                    {
                        rect.Width = _e.GetPosition(drawingPanel).X - _capturedPosition.X;
                    }
                    else
                    {
                        rect.Width = _capturedPosition.X - _e.GetPosition(drawingPanel).X;
                        Canvas.SetLeft(rect, _e.GetPosition(drawingPanel).X);
                    }
                }
            };

            rect.MouseLeftButtonDown += (_s,_e) =>
            {

            };

            rect.MouseRightButtonDown += (_s, _e) =>
            {
                drawingPanel.Children.Remove(rect);
            };

            rect.MouseUp += (_s, _e) =>
            {
                _mouseCaptured = false;
                _newRect = false;
                rect.ReleaseMouseCapture();
                ReleaseMouseCapture();
            };
        }
Beispiel #4
0
            public bool Capture(Point pt)
            {
                this.tub = get_tier_ui(pt);
                if (tub == null /*|| tub.TiersControl.Items.Count == 1*/)
                    return false;

                pt.X = 0.0;
                pp_offs = mg.TransformToDescendant(tub).Transform(pt);
                pp_offs.X += tub.Margin.Left;
                pp_offs.Y += tub.Margin.Top;

                var sz = new Size(tub.ActualWidth, tub.ActualHeight);

                this.tui = new Rectangle
                {
                    Fill = new ImageBrush
                    {
                        ImageSource = __util.GetImage(tub, null, sz),
                        Stretch = Stretch.None
                    },
                    Width = sz.Width,
                    Height = sz.Height,
                    Margin = tub.Margin,
                };

                this.bb = BindingOperations.GetBinding(tub, VisibilityProperty);
                BindingOperations.ClearBinding(tub, VisibilityProperty);
                tub.Visibility = Visibility.Hidden;

                mg.Children.Add(tui);

                return tui.CaptureMouse();
            }