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(); } }
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); } }
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(); }
/// <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); }
private void Invalidate() { AdornerLayer layer = AdornerLayer.GetAdornerLayer(_adornedImage); layer.InvalidateArrange(); }