プログラムで内容を置き換えたい、Span" test1" という名前のフロードキュメントがあります。
TextRange tr = new TextRange(this.test1.ContentStart,this.test1.ContentEnd);
Run run = this.test1.Inlines.First() as Run;
run.Text = "replaced text";
これは機能しますが、問題は更新を行うときにスパンの名前が削除されることです(xamlソースを見てください)。これは設計によるものですか?IDを保持する方法はありますか?こんにちは、これは私が実際にリッチテキストボックスにあるものをデバッグするために使用する方法です(xamlソースをテキストボックスに設定します)
using (MemoryStream ms = new MemoryStream()) { tr = new TextRange(this.richTextBox1.Document.ContentStart, this.richTextBox1.Document.ContentEnd); tr.Save(ms, DataFormats.Xaml); ms.Position = 0;
using (StreamReader sr = new StreamReader(ms))
{
this.textBox1.Text = sr.ReadToEnd();
}
}
これは、リッチテキスト ボックスのテスト コンテンツです。
<FlowDocument>
<Paragraph>
This is my first <Span Name="test1">a huge amount of space</Span> between it and the second paragraph?
</Paragraph>
</FlowDocument>