2010-11-08 3 views

risposta

18

Nella parte inferiore della MSDN RichTextBox di riferimento c'è un link per How to Extract the Text Content from a RichTextBox

E 'intenzione di assomigliare a questo:

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: questo è un po 'complicato per qualcosa di così semplice. È utile controllare l'avvio e la fine, ma nella maggior parte del tempo non è necessario e mi aspetto ancora .text o .context ecc. – Asaf

+0

@Asaf Non penso che sia così complicato, il RichTextBox non è un documento di testo. C'è una formattazione, stili, ecc. Associati ad un RichTextBox, e quindi ha senso avere un supporto basato su oggetti. –

+0

potresti avere ragione ma sto perdendo i miei capelli qui in quiete veloce: basi come set text, clearText (= ""), o mettere il valore stringa in una funzione mi stanno evitando. Può avere senso ma non è affatto amichevole . – Asaf