如何将XAML插入RichTextBox?
存储在数据库中的XAML文本,如何在XmlReader读取XAML后在RichTextBox中显示其文本?
StringReader stringReader = new StringReader(xamlString); XmlReader xmlReader = XmlReader.Create(stringReader);
rt.Document = ???
—— UPDATE ——————-这里是xamlString的内容:
HelloHello1TestingTesting2
从RichTextBox中检索XAML文本:
private static string GetRTF(RichTextBox rt) { TextRange range = new TextRange(rt.Document.ContentStart, rt.Document.ContentEnd); MemoryStream stream = new MemoryStream(); range.Save(stream, DataFormats.Xaml); string xamlText = Encoding.UTF8.GetString(stream.ToArray()); return xamlText; }
将XAML文本呈现为RichTextBox:
private static FlowDocument SetRTF(string xamlString) { StringReader stringReader = new StringReader(xamlString); XmlReader xmlReader = XmlReader.Create(stringReader); Section sec = XamlReader.Load(xmlReader) as Section; FlowDocument doc = new FlowDocument(); while (sec.Blocks.Count > 0) doc.Blocks.Add(sec.Blocks.FirstBlock); return doc; }
你可以调用RichTextBox.AppendText(string)
。