Answers:
以一套 RichTextBox的文字:
richTextBox1.Document.Blocks.Clear();
richTextBox1.Document.Blocks.Add(new Paragraph(new Run("Text")));
要获取 RichTextBox的文字:
string richText = new TextRange(richTextBox1.Document.ContentStart, richTextBox1.Document.ContentEnd).Text;
FontFamily
在段落中添加?
System.Windows.Forms中的RichTextBox与Windows中的RichTextBox之间存在混淆 System.Windows.Control中的
我在控件中使用WPF。那里没有Text属性,为了获取文本,我应该使用以下行:
string myText = new TextRange(transcriberArea.Document.ContentStart, transcriberArea.Document.ContentEnd).Text;
谢谢
WPF RichTextBox具有Document
用于设置MSDN 内容的属性:
// Create a FlowDocument to contain content for the RichTextBox.
FlowDocument myFlowDoc = new FlowDocument();
// Add paragraphs to the FlowDocument.
myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 1")));
myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 2")));
myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 3")));
RichTextBox myRichTextBox = new RichTextBox();
// Add initial content to the RichTextBox.
myRichTextBox.Document = myFlowDoc;
您可以使用 AppendText
方法即可,如果仅此而已。
希望有帮助。
使用两种扩展方法,这变得非常容易:
public static class Ext
{
public static void SetText(this RichTextBox richTextBox, string text)
{
richTextBox.Document.Blocks.Clear();
richTextBox.Document.Blocks.Add(new Paragraph(new Run(text)));
}
public static string GetText(this RichTextBox richTextBox)
{
return new TextRange(richTextBox.Document.ContentStart,
richTextBox.Document.ContentEnd).Text;
}
}
仅执行以下操作:
_richTextBox.SelectAll();
string myText = _richTextBox.Selection.Text;
rtxb_input.SelectAll();
txb_InputLength.Text = rtxb_input.Selection.Text.Length.ToString();
RichTextBox rtf = new RichTextBox();
System.IO.MemoryStream stream = new System.IO.MemoryStream(ASCIIEncoding.Default.GetBytes(yourText));
rtf.Selection.Load(stream, DataFormats.Rtf);
要么
rtf.Selection.Text = yourText;
据此,它确实具有Text属性
http://msdn.microsoft.com/zh-CN/library/system.windows.forms.richtextbox_members.aspx
如果希望将文本拆分为行,也可以尝试使用“行”属性。