【发布时间】:2020-02-05 09:48:32
【问题描述】:
我有一个 WPF 项目(带有 MVVM Light),其中包含一个带有 Toolbar 的 RichTextBox 控件,如下图
我尝试将格式化文本(用户可以将富文本框内容样式更改为“粗体”、“斜体”、“下划线”或增大或减小字体大小)到 sql lite 数据库。
我正在使用 TextRange 类来捕获 RichTextBox 内容。
/* Get Richtext box text. */
TextRange range;
range = new TextRange(((FlowDocument)document).ContentStart,
((FlowDocument)document).ContentEnd);
/* Get Richtext box text. */
但如果文本是粗体或斜体,则不会捕获正确的文本。我用谷歌搜索了很多小时,但我找不到满足我要求的正确方法。如果有人有想法,请指教。
【问题讨论】:
-
您能否扩展“未捕获的正确文本”-您的意思是 range.Text 属性错误吗?
-
对不起,我的意思是当我输入一些粗体或斜体样式的文本时,它没有捕获给定样式的文本。 'TextRange' 不捕获文本样式,仅捕获文本。
-
啊,我明白了。我不确定范围格式的确切位置,但我认为您可能需要保存和加载原始 RTF 数据以实现您想要的,因为这将包含格式数据。如果您对这种方法感到满意,我会写一个答案?
-
是的,请继续。
标签: c# .net wpf winforms richtextbox