Hi,
ich hab ne RichTextBox (RTB) und will die als eine art Console in meiner Form verwenden. Nun hatte ich die Idee die Text property per DataBinding an ein Objekt zu binden.
Ich glaube das beste zum füllen einer RTB ist über AppendText() wie sieht es mit längeren Texten aus wenn man das ganze per DataBinding macht?
Hi,
wir haben die MSRichtextbox aufgebohrt, Databinding über Stream (mussten wir wg. spez. BindingHandling).
Bis ca 25 MB Bilder geht gut rein, klar dauert das Laden lange.
Das Laden an sich ist also nicht das Problem denk ich.
Gruß
DevHB
Hi DevHB,
am besten mal probieren. Ich habs zwar noch nie mit DataBinding verwendet, aber dafür immer die Text-Eigenschaft genutzt. Hatte damit auch noch nie irgendwelche Performance-Probleme.
Zur Info: Hab das Control schon mal genutzt, um eine Art einfachen Quellcode-Editor abzubilden.
Gruß
Hallo Tarion,
ich würde davon ausgehen, dass bei DataBinding bei jeder Änderung am Text der komplette Text neu gesetzt wird. Das würde bei langen Texten, an die immer wieder eine weitere Zeile angehängt wird, zu quadratischem Aufwand führen. Das ist ungünstig. Daher sollte man das eher nicht machen, es sei denn, man verwendet wie von DevHB vorgeschlagen eine RichtextBox, die extra auf den konkreten Fall ausgelegt ist.
herbivore
@herbivore
Ja das waren auch so meine Überlegungen.
Ich hab jetzt doch wieder nen IConsole interace in der Gui welches ein LineAdded event wirft. Damit kann man dann die rtb über appendText() erweitern. Auch das nach unten Scrollen lässt sich so leichter implementieren.