Windows-Store-App RichEditBox Markdown Hervorhebung - c #, Microsoft-Metro, Markdown, Rich-Text-Editor, Windows-Store-Apps

im Moment versuche ich in Windows zu kommenStore-App-Entwicklung und ich stecke irgendwann fest. Ich möchte eine Art "Abzeichnungssprache" wie die im Stackoverflow implementieren, um bestimmte Teile der Texteingabe hervorzuheben. Außerdem möchte ich dem Benutzer die Möglichkeit geben, verschiedene Schriftfarben in seinem Text zu verwenden. Die RichEditBox scheint die ideale Steuerung für diese Aufgabe zu sein, aber ich weiß nicht, wie man Markup im laufenden Betrieb erkennt. Zum Beispiel wenn der Benutzer eingibt **Test** Der Text sollte in umgewandelt werden Prüfung sofort.

Ich habe versucht, mich dem zu nähern, indem ich das "TextChanged" -Ereignis abhöre und schaue, ob der Benutzer eintritt **. Wenn dies der Fall ist und er die Sequenz eingegeben hat ** schon vorher, dann setze ich dieZeichenformat des Textbereichs vom Ende der ersten Anmerkungssequenz (Startmarkierung) bis zum Anfang der zweiten (Anmerkungsmarkierung schließen) -Anmerkung in Fettschrift.

Aber diese Lösung scheint sehr schnell und schmutzig zu sein.

Mein zweiter Gedanke war, das WebView-Steuerelement zu verwenden, um den Text nach der Vorverarbeitung mit "Markdown Sharp" zu rendern. Aber dann wird der Benutzer nicht in der Lage sein, Text zu bearbeiten.

Also muss ich einen Rat bekommen oder einen Tipp gebennähert sich diesem Problem. Ich habe auch in ein benutzerdefiniertes RichEditBox-Steuerelement geschrieben, aber ich habe keine Erfahrung in der Entwicklung von benutzerdefinierten Steuerelementen und es gibt nicht so viele Ressourcen im Web für Windows 8-Entwicklung für jetzt.

Danke im Voraus.

Antworten:

0 für die Antwort № 1

Wie ich es sehe, ist Ihr Problem, dass Sie die "Quelle" basierend auf Markdown-Syntax bearbeiten und das formatierte Ergebnis an der gleichen Stelle anzeigen möchten. Wie würdest du zurückkehren? Prüfung zu regelmäßig, solange die Sterne weg sind? Wenn die Antwort "Verwenden einer Schaltfläche" ist, warum nicht die Schaltfläche verwenden, um es in erster Linie fett zu machen?

Sie könnten jedoch eine hybride Sache machen: Formatierung im Quelltext anwenden, während das Markdown-Markup beibehalten wird (nicht sicher, ob dies für alle Markdown-Tricks möglich ist). Das ist, **Test** würde in der Quelle wie aussehen **Test**. Für das endgültige, formatierte Ergebnis würden Sie eine separate Ansicht verwenden, z. B. RichTextBlock.

Um die Hybrid-Formatierung zu machen, eine Optionwäre, einen Hintergrund-Thread zu haben, der regelmäßig den ganzen Text mit regulären Ausdrücken vergleicht, die für die Markdown-Syntax spezifisch sind. Für jede Übereinstimmung würde dann der entsprechende Textbereich entsprechend formatiert werden.


Verwandte Fragen
Speisekarte