diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/BracketHighlightRenderer.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/BracketHighlightRenderer.cs
index 2bda1e5556..c9a4907bcb 100644
--- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/BracketHighlightRenderer.cs
+++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/BracketHighlightRenderer.cs
@@ -4,9 +4,11 @@
//
// $Revision$
//
-using ICSharpCode.AvalonEdit.Document;
using System;
+using System.Diagnostics;
using System.Windows.Media;
+
+using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.AvalonEdit.Rendering;
using ICSharpCode.SharpDevelop.Editor;
@@ -21,9 +23,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
public void SetHighlight(BracketSearchResult result)
{
this.result = result;
- var layer = textView.GetKnownLayer(Layer);
- if (layer != null)
- layer.InvalidateVisual();
+ textView.InvalidateLayer(this.Layer);
}
public BracketHighlightRenderer(TextView textView)
@@ -35,7 +35,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
this.borderPen.Freeze();
this.textView = textView;
- //this.textView.BackgroundRenderers.Add(this);
+ this.textView.BackgroundRenderers.Add(this);
}
public KnownLayer Layer {
diff --git a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs
index 22e966b95c..eb77eac3e1 100644
--- a/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs
+++ b/src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/CodeEditor.cs
@@ -299,10 +299,10 @@ namespace ICSharpCode.AvalonEdit.AddIn
if (activeAdapter.Language != null) {
var bracketSearchResult = activeAdapter.Language.BracketSearcher.SearchBracket(activeAdapter.Document, activeAdapter.Caret.Offset);
-// if (activeAdapter == primaryTextEditorAdapter)
-// this.primaryBracketRenderer.SetHighlight(bracketSearchResult);
-// else
-// this.secondaryBracketRenderer.SetHighlight(bracketSearchResult);
+ if (activeAdapter == primaryTextEditorAdapter)
+ this.primaryBracketRenderer.SetHighlight(bracketSearchResult);
+ else
+ this.secondaryBracketRenderer.SetHighlight(bracketSearchResult);
}
StatusBarService.SetCaretPosition(caret.Column, caret.Line, caret.Column);
diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs
index bd088f9c00..6e19efd337 100644
--- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs
+++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs
@@ -247,19 +247,6 @@ namespace ICSharpCode.AvalonEdit.Rendering
get { return layers; }
}
- ///
- /// Retrieves a known layer from the Layers collection.
- ///
- public UIElement GetKnownLayer(KnownLayer knownLayer)
- {
- foreach (UIElement layer in layers) {
- LayerPosition p = LayerPosition.GetLayerPosition(layer);
- if (p != null && p.KnownLayer == knownLayer)
- return layer;
- }
- return null;
- }
-
///
/// Inserts a new layer at a position specified relative to an existing layer.
///
@@ -379,6 +366,16 @@ namespace ICSharpCode.AvalonEdit.Rendering
}
}
+ ///
+ /// Causes a known layer to redraw.
+ /// This method does not invalidate visual lines;
+ /// use the method to do that.
+ ///
+ public void InvalidateLayer(KnownLayer knownLayer)
+ {
+ InvalidateMeasure(DispatcherPriority.Normal);
+ }
+
///
/// Causes the text editor to redraw all lines overlapping with the specified segment.
/// Does nothing if segment is null.