DevOps
06.06.2024
WPF

Erweiterter RichText-Editor für WPF unter .NET8 mit umfassender Toolbar

EMGenie
Eine überarbeitete Version der WPF NET8 RichTextBox bringt unter anderem neue Funktionen und verbesserte Benutzerunterstützung für den RichText-Editor.
Die WPF NET8 RichTextBox wurde überarbeitet und bietet jetzt erweiterte Textformatierungsoptionen und nützliche Dialogboxen. Diese erweiterte Version wurde ebenso wie die ursprüngliche auf CodeProject veröffentlicht. Sie läuft jetzt unter .NET8. Zu den neuen Funktionen gehören ein kontextsensitives Menü, ein einfaches Zoom-Feature sowie erweiterte Bearbeitungskommandos und Dialoge zum Einfügen von Bildern, Speichern und Suchen & Ersetzen.
Der zugrundeliegende Quellcode stammt aus verschiedenen Artikeln und Projekten. Besonders hervorzuheben sind die Verbesserungen im Kontextmenü: Diese erscheinen bei einer Auswahl und einem Rechtsklick in der RichTextBox und bieten Zugriff auf die meisten verfügbaren Anwendungs- und Bearbeitungskommandos. 
Zudem wurde die Benutzeroberfläche durch zwei Toolbars erweitert, die alle Schaltflächen für die Textformatierung enthalten. 
Der Code zum Einfügen von Bildern ist unkompliziert: Sobald ein Bild ausgewählt ist, wird es in die Zwischenablage kopiert und kann direkt in die RichTextBox eingefügt werden. Ein weiteres Highlight ist das einfache Zoom-Feature, das nun vollständig mit dem SliderZoom kompatibel ist. Worte lassen sich ohne großen Aufwand vergrößern oder verkleinern, was die Lesbarkeit erheblich verbessert.
Die Find-&-Replace-Dialogboxen sind eine weitere nützliche Ergänzung und erleichtern die Textsuche und Ersetzung ohne großen Aufwand. Auch wenn das Formatieren nicht in allen Fällen erhalten bleibt, ist die Funktion insgesamt sehr hilfreich.
Die erweiterte Toolbar enthält jetzt unter anderem Schaltflächen für Groß- und Kleinschreibung, zum Markieren des gesamten Textes und zum Löschen des ausgewählten Textes. Diese zusätzlichen Funktionen erhöhen die Effizienz beim Arbeiten mit dem RichTextBox Editor erheblich.
Diese Version verwendet allerdings kein MVVM (Model-View-ViewModel); wer dies benötigt, der sollte deb Artikel WPF MVVM RichText Demo using YDock Panel lesen.

mehr zum Thema