From 699cc3381dd7056bf86a1cb2db83550a901ebfc4 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Fri, 14 Mar 2014 23:16:43 +0100 Subject: [PATCH] fix #256: When collapsing/expanding folding sections, the EnhancedScrollBar icons should update their position --- .../AvalonEdit.AddIn/Src/EnhancedScrollBar.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/EnhancedScrollBar.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/EnhancedScrollBar.cs index e03ad3dc49..4240a71e67 100644 --- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/EnhancedScrollBar.cs +++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/EnhancedScrollBar.cs @@ -138,18 +138,26 @@ namespace ICSharpCode.AvalonEdit.AddIn this.Cursor = Cursors.Hand; this.ToolTip = string.Empty; - textMarkerService.RedrawRequested += textMarkerService_RedrawRequested; + textMarkerService.RedrawRequested += RedrawRequested; + editor.TextArea.TextView.VisualLinesChanged += VisualLinesChanged; } public void Remove() { - textMarkerService.RedrawRequested -= textMarkerService_RedrawRequested; + textMarkerService.RedrawRequested -= RedrawRequested; + editor.TextArea.TextView.VisualLinesChanged -= VisualLinesChanged; var layer = AdornerLayer.GetAdornerLayer(AdornedElement); - layer.Remove(this); + if (layer != null) + layer.Remove(this); } - void textMarkerService_RedrawRequested(object sender, EventArgs e) + void RedrawRequested(object sender, EventArgs e) + { + InvalidateVisual(); + } + + void VisualLinesChanged(object sender, EventArgs e) { InvalidateVisual(); }