回答:
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;
Paragraph()
は、少なくとも.NET 3.5以降にParagraph(Inline)
過負荷がありました(Run(string)
これも有効でした-この例でも同じです)。
FontFamily
段落に追加する方法は?
でリッチテキストボックスの間で混乱があったのSystem.Windows.FormsとでSystem.Windows.Controlは
WPFを使用しているので、コントロールの1つを使用しています。そこには、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
したいすべてであるならば、あなたはただ方法を使うことができます。
お役に立てば幸いです。
string GetString(RichTextBox rtb)
{
var textRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
return textRange.Text;
}
2つの拡張メソッドを使用すると、これは非常に簡単になります。
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;
}
}
Text
WPF RichTextBoxコントロールにはプロパティはありません。以下は、すべてのテキストを取り出す1つの方法です。
TextRange range = new TextRange(myRTB.Document.ContentStart, myRTB.Document.ContentEnd);
string allText = range.Text;
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;
「Extended WPF Toolkit」は、Textプロパティを持つrichtextboxを提供します。
さまざまな形式(XAML、RTF、プレーンテキスト)でテキストを取得または設定できます。
ここにリンクがあります:Extended WPF Toolkit RichTextBox
これによると、Textプロパティがあります
http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox_members.aspx
テキストを行として分割したい場合は、「Lines」プロパティを試すこともできます。