Laden...

Datenstruktur über RichTextBox editieren

Erstellt von carlptr vor 16 Jahren Letzter Beitrag vor 16 Jahren 2.043 Views
C
carlptr Themenstarter:in
28 Beiträge seit 2007
vor 16 Jahren
Datenstruktur über RichTextBox editieren

Hallo miteinander,

ich will eine eigene dokumentorientierte Datenstruktur in einer RichTextBox editierbar machen.
Die Datenstruktur ist hierarchisch und sieht etwa wie folgt aus:

  • Dokument (Felder Titel und Untertitel)
    • 1 - n Kapitel (Felder Titel)
      • 1-n Abschnitte (Feld: Inhalt)

Ein Dokument hat also Kapitel, die Kapitel haben Abschnitte.

Ich will also die Datenstruktur aus einer Datei lesen, in der RichTextBox darstellen und die Änderungen aus der RichTextBox wieder in meine Datenstruktur übernehmen.

Die Datenstruktur soll dann als FlowDocument dargestellt werden und editierbar sein.

Für meine Anwendung muss ich dann z.B. ermitteln können, an welche Stelle ich in der Struktur stehe, um z.B. zu verhindern, dass in einem Dokument ohne Kapitel Abschnitte eingefügt werden können.

Ich bin für alle Anregungen sehr dankbar!

carlptr

45 Beiträge seit 2004
vor 16 Jahren

Hallo carlptr,

in etwa das selbe versuche ich auch schon seit geraumer Zeit. Meine Idee:

RichTextBox -> Flowdocument -> ein Schema was festlegt was, wo stehen darf und was nicht gelöscht werden darf. Tolle neue Welt. Pustekuchen, geht nicht. Zumindest hab ich keine Ahnung wie ich ne Schemaprüfung an die RTB basteln soll.

Ich werde mich weiter mit dem Thema befassen, habe aber nicht viel Hoffnug das ich das Problem lösen kann.

Nur kurz warum ich sowas brauche: Ich habe ein kleines CMS geschrieben wo per schema festgelegt wird was, wo stehen darf. Derzeit nutze ich noch das dHtmlEd Control für das ganze. Leider hat das Ding einige grobe Nachteile und wpf sieht einfach schicker aus.

Ein Lösungsansatz wäre:

OnBeforeChange der RTB von Hand zu prüfen ob das, was man gerade vorhat überhaubt zulässig ist. Nuja, das kann ich ja mal machen wenn ich mal viel Zeit habe.

Sollte es hier jemanden geben der ws ich eben schrieb wiederlegen kann dann bitte Posten.

mfg

KirK

}{4/3 |=|.[||