From 1b42c75235dc99fa85bafe2e039db1bb93c71891 Mon Sep 17 00:00:00 2001 From: xianyu Date: Wed, 15 Nov 2023 16:03:29 +0800 Subject: [PATCH] [fix] Get right Column when use custom element replace text content. --- ICSharpCode.AvalonEdit/Rendering/VisualLine.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ICSharpCode.AvalonEdit/Rendering/VisualLine.cs b/ICSharpCode.AvalonEdit/Rendering/VisualLine.cs index 66dc8371..e3cd8c7e 100644 --- a/ICSharpCode.AvalonEdit/Rendering/VisualLine.cs +++ b/ICSharpCode.AvalonEdit/Rendering/VisualLine.cs @@ -470,6 +470,9 @@ internal int GetVisualColumn(Point point, bool allowVirtualSpace, out bool isAtE { var textLine = GetTextLineByVisualYPosition(point.Y); int vc = GetVisualColumn(textLine, point.X, allowVirtualSpace); + // Not matter how many columns the generated element originally occupies.it is only considered a single column. + // so need recalculate column + vc = GetVisualColumn(vc); isAtEndOfLine = (vc >= GetTextLineVisualStartColumn(textLine) + textLine.Length); return vc; }