예제 #1
0
 private void DrawSelection(object sender, MouseEventArgs e)
 {
     if (e.LeftButton == MouseButtonState.Pressed)
     {
         System.Windows.Point mousePosition = e.GetPosition(_adornedElement);
         if (mousePosition.X < _anchorPoint.X)
         {
             _selectRect.X = mousePosition.X;
         }
         else
         {
             _selectRect.X = _anchorPoint.X;
         }
         if (mousePosition.Y < _anchorPoint.Y)
         {
             _selectRect.Y = mousePosition.Y;
         }
         else
         {
             _selectRect.Y = _anchorPoint.Y;
         }
         _selectRect.Width  = Math.Abs(mousePosition.X - _anchorPoint.X);
         _selectRect.Height = Math.Abs(mousePosition.Y - _anchorPoint.Y);
         _geometry.Rect     = _selectRect;
         AdornerLayer layer = AdornerLayer.GetAdornerLayer(_adornedElement);
         layer.InvalidateArrange();
     }
 }
예제 #2
0
 private void DrawSelection(object sender, MouseEventArgs e)
 {
     if (e.LeftButton == MouseButtonState.Pressed)
     {
         _selectPosition  = e.GetPosition(_adornedElement);
         _cursorband.Data = CreateCursorData(_selectPosition);
         AdornerLayer layer = AdornerLayer.GetAdornerLayer(_adornedElement);
         layer.InvalidateArrange();
         OnCursorChanged(_selectPosition);
     }
 }
예제 #3
0
        protected void updateCursor()
        {
            System.Windows.Controls.Image imageControl = _adornedElement as System.Windows.Controls.Image;
            _cursorband.Data = CreateCursorData(new Point(imageControl.ActualWidth / 2, imageControl.ActualHeight / 2));
            if (Visibility.Visible != _cursorband.Visibility)
            {
                _cursorband.Visibility = Visibility.Visible;
            }
            AdornerLayer layer = AdornerLayer.GetAdornerLayer(_adornedElement);

            layer.InvalidateArrange();
        }
예제 #4
0
        /// <summary>
        /// Установка курсора в указанное положение.
        /// Предназначено для упраления курсором родительским объектом
        /// </summary>
        /// <param name="p">новое положение курсора в системе координат ImageControl</param>
        public void SetCursorPosition(Point p)
        {
            if (Image == null)
            {
                return;
            }

            System.Windows.Controls.Image imageControl = _adornedElement as System.Windows.Controls.Image;
            _selectPosition.X = p.X * imageControl.ActualWidth / Image.PixelWidth;
            _selectPosition.Y = p.Y * imageControl.ActualHeight / Image.PixelHeight;
            _cursorband.Data  = CreateCursorData(_selectPosition);
            AdornerLayer layer = AdornerLayer.GetAdornerLayer(_adornedElement);

            layer.InvalidateArrange();
            OnCursorChanged(_selectPosition);
        }
예제 #5
0
        private void Invalidate()
        {
            AdornerLayer layer = AdornerLayer.GetAdornerLayer(_adornedImage);

            layer.InvalidateArrange();
        }