我尝试创建一个使用从msaccess数据库导入的文本的wpf核心应用程序。有些字段是Access文本字段,文本设置为RTF文本,但实际上它们看起来像HTML。就像这样:
10630981啦啦啦啦啦啦 {bla 25-09}
我想使用FlowDocumentScrollViewer来显示这个字段,并使用RichTextBox来编辑。因为我喜欢在MVVM模式下工作,所以我需要一个转换器来将这个'Html'转换为flowdocument并返回。
我已经玩了好几天没有得到这个,但还没有成功。我觉得我正在接近以下代码:
FlowDocument document = new FlowDocument();
string xaml = "<p> The <b> Markup </b> that is to be converted.</p>";
using (MemoryStream msDocument = new MemoryStream((new ASCIIEncoding()).GetBytes(xaml)))
{
TextRange textRange = new TextRange(document.ContentStart, document.ContentEnd);
textRange.Load(msDocument, DataFormats.Xaml);
}
但是我仍然得到一个异常,说XamlParseException:无法创建未知类型“p”。
谁能给予我推一把?
1条答案
按热度按时间ldioqlga1#
您使用了错误的数据格式。您的内容不是有效的XAML字符串。只需使用
DataFormats.Text
即可。如果使用
DataFormats.Xaml
,则输入应该是基于<Run>
和<Paragraph>
等XAML元素的有效文档。您也可以将字符串值直接分配给
TextRange.Text
属性: