private static void AdjustMarker(Shape marker, TextPointer pointer) { var rect = pointer.GetCharacterRect(LogicalDirection.Forward); marker.Margin = new Thickness(rect.Left, rect.Top, 0, 0); marker.Visibility = System.Windows.Visibility.Visible; marker.Fill = pointer.LogicalDirection == LogicalDirection.Forward ? Brushes.HotPink : Brushes.Yellow; }