private void richEditControl1_PreviewDragOver(object sender, DragEventArgs e) { Point windowsPoint = e.GetPosition((UIElement)richEditControl1); DocumentPosition pos = RichEditHelper.GetDocumentPositionFromWindowsPoint(richEditControl1, windowsPoint); if (pos == null) { return; } DrawRectange(pos); richEditControl1.Document.CaretPosition = pos; richEditControl1.ScrollToCaret(); }
public void DrawRectange(DocumentPosition pos) { if (canvas.Children.Contains(rectangle)) { canvas.Children.Remove(rectangle); } System.Drawing.RectangleF drawingRectange = RichEditHelper.GetRectangleFromDocumentPosition(richEditControl1, pos); rectangle = new Rectangle() { Stroke = Brushes.Blue, StrokeThickness = 1, Width = 2, Height = drawingRectange.Height }; canvas.Children.Add(rectangle); Canvas.SetLeft(rectangle, drawingRectange.X); Canvas.SetTop(rectangle, drawingRectange.Y); }