2010-11-08 3 views
8

J'ai vu comment définir une zone de texte riche WPF dans RichTextBox Class.Comment obtenir une zone de texte enrichie WPF dans une chaîne

Pourtant, j'aime enregistrer son texte dans la base de données comme je le faisais, en Windows Forms.

string myData = richTextBox.Text; 
dbSave(myData); 

Comment puis-je le faire?

+0

Pourquoi utiliser un RichTextBox, si vous voulez que le texte? Ne serait-il pas préférable de simplement utiliser un TextBox à la place? :) – Arcturus

Répondre

18

Au bas de la référence MSDN RichTextBox il y a un lien vers How to Extract the Text Content from a RichTextBox

Il va ressembler à ceci:

public string RichTextBoxExample() 
{ 
    RichTextBox myRichTextBox = new RichTextBox(); 

    // Create a FlowDocument to contain content for the RichTextBox. 
    FlowDocument myFlowDoc = new FlowDocument(); 

    // Add initial content to the RichTextBox. 
    myRichTextBox.Document = myFlowDoc; 

    // Let's pretend the RichTextBox gets content magically ... 

    TextRange textRange = new TextRange(
     // TextPointer to the start of content in the RichTextBox. 
     myRichTextBox.Document.ContentStart, 
     // TextPointer to the end of content in the RichTextBox. 
     myRichTextBox.Document.ContentEnd 
    ); 

    // The Text property on a TextRange object returns a string 
    // representing the plain text content of the TextRange. 
    return textRange.Text; 
} 
+2

+1: c'est un peu compliqué pour quelque chose de si basique. Il est utile de contrôler le début et la fin, mais la plupart du temps, ce n'est pas nécessaire et je m'attends toujours à .text ou .context etc. – Asaf

+0

@Asaf Je ne pense pas que ce soit si compliqué, le RichTextBox n'est pas un document en texte brut. Il existe une mise en forme, des styles, etc. associés à un RichTextBox, et il est donc logique d'avoir un support basé sur un objet. –

+0

vous avez peut-être raison mais je perds mes cheveux ici rapidement au calme: les bases comme set text, clearText (= ""), ou en mettant la valeur de chaîne dans une fonction m'évitent.Il peut avoir du sens mais ce n'est pas sympa du tout . – Asaf

Questions connexes