Visual Studio MEF-Erweiterung - Erzwingen, dass Randzeichen aktualisiert oder neu gezeichnet werden

Die Erweiterung, die ich schreibe, ist aus dem Exemplarischen Vorgehen entstanden: Erstellen eines von Microsoft bereitgestellten Margin-Glyphen-Beispiels:https: //msdn.microsoft.com/en-us/library/ee361745.asp

Alles funktioniert einwandfrei, außer dass ich versuche, das erneute Zeichnen oder Aktualisieren der Randzeichen auszulösen, wenn sich die Daten ändern, mit denen ich über die zu zeichnende Linie entschieden habe.

rundsätzlich habe ich eine Schaltfläche in einem Werkzeugfenster. Wenn der Benutzer auf die Schaltfläche klickt, soll eine Glyphe am Rand angezeigt werden. Derzeit wird es erst angezeigt, wenn Sie einen Bildlauf durchführen oder das Dokument schließen und neu laden.

Ich habe dies untersucht und einige Codebeispiele gesehen, die IViewTaggerProvider anstelle von ITaggerProvider verwenden. In diesen Fällen konnte ein Handler für ein LayoutChanged-Ereignis der von ITagger abgeleiteten Klasse hinzugefügt werden, die auch die GetTags-Methode enthält. Ich konnte den Code jedoch nicht erfolgreich von ITaggerProvider auf IViewTaggerProvider umstellen, da die Erweiterung beim Ausführen abstürzte. Ich weiß nicht, ob dies eine Änderung ist, die zur Lösung führt, oder ob es unnötig ist.

Wie kann ich das Rendern der Glyphe erzwingen? Kann ich ein Ereignis auslösen, um die Ausführung des GetTags-Codes zu erzwingen? Wie würde ich dieses Ereignis außerhalb der Klasse auslösen? Aus dem Werkzeugfenster zum Beispiel?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage