VT100-Terminal-Emulation in Windows -, WPF-oder Silverlight

Bin ich am grübeln erstellen einer WPF-oder Silverlight-app, die funktioniert wie ein terminal-Fenster. Außer, da ist es in WPF/Silverlight, wird es in der Lage sein, zu 'verbessern' die terminal-Erfahrung mit Effekten, Bilder, etc.

Ich versuche, herauszufinden, der beste Weg, Sie zu emulieren ein terminal. Ich weiß, wie behandeln die VT100-emulation so weit, wie das Parsen, etc. Aber wie kann man ihn anzeigen? Als ich mit einem RichTextBox-Steuerelement, und im wesentlichen die Umwandlung der VT100-escape-codes in RTF.

Das problem, das ich sehe, ist die Leistung. Das terminal kann immer nur ein paar Zeichen in einer Zeit, und laden Sie Sie in das textbox-wie-wir-gehen würde ich ständig erstellen TextRanges und Load() zum laden der RTF. Auch, um für jede be - 'Sitzung' um vollständig zu sein, es vollständig zu beschreiben RTF. Zum Beispiel, wenn die aktuelle Farbe Rot ist, jeden laden in der TextBox müssten die RTF-codes, um den text rot, oder ich davon ausgehen, das RTB wird nicht geladen als rot.

Das scheint mir sehr überflüssig -- das erzeugte RTF-Dokument gebaut, durch die emulation wird sehr chaotisch. Auch die Bewegung des Cursors scheint nicht so, als wäre es im Idealfall werden von der RTB. Ich brauche etwas, custom, dünkt mich, aber das macht mir Angst!

In der Hoffnung zu hören, Ideen oder Hinweise zu bestehenden Lösungen. Gibt es vielleicht eine Möglichkeit zum einbetten von einer tatsächlichen terminal-und overlay-Zeug oben drauf. Das einzige, was ich gefunden habe ist eine alte WinForms-Steuerelement.

UPDATE: Sehen, wie die vorgeschlagene Lösung schlägt wegen dir in meiner Antwort weiter unten. 🙁

VT100-Terminal-Emulation in Windows -, WPF-oder Silverlight

Schreibe einen Kommentar