天天看点

UWP 笔记RichEditBox富文本写数据库思路

初学uwp,打算写一个云存储的记事本,了解到RichEditBox富文本编辑器。对写数据库的思路做了一个处理

RichEditBox的内容是带格式的,所以写到数据库不能用单纯的纯文本

其实就两行核心代码就可以了

将RichEditBox内容读取,转为string

将string读取,写到RichEditBox

这两个问题就是实现写到数据库的核心

经过我的瞎几把折腾,找到了这个api

定义一个字符串用来接受富文本的内容

String ras="";
           

通过Document对象的方法GetText,第一个参数就是rtf的文本格式,第二个是接受文本的字符串,前缀要加out(我c#临时出家,啥都不知道)

RichEditBox.Document.GetText(Windows.UI.Text.TextGetOptions.FormatRtf,out ras);
           

这个时候ras已经读取到了带格式的文本了

以下格式的富文本,写到字符出后

UWP 笔记RichEditBox富文本写数据库思路

{\rtf1\fbidis\ansi\ansicpg936\deff0\nouicompat\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 Microsoft YaHei UI;}}

{\colortbl ;\red0\green0\blue0;}

{\*\generator Riched20 10.0.17134}\viewkind4\uc1

\pard\tx720\cf1\b\f0\fs23\lang2052\'ce\'d2\'d6\'bb\'ca\'c7\b0\i\'d2\'bb\'b8\'f6\ul\i0\'b2\'e2\'ca\'d4\par

}

变成了奇怪的东西。。。

不重要,转手,把上面奇怪的字符串反写到RichEditBox

RichEditBox.Document.SetText(Windows.UI.Text.TextSetOptions.FormatRtf, ras);
           

嗯。。就可以了。。效果就不贴了。。

写数据库只需要把奇怪的字符串写过去就可以了

如果又转义符问题的话,C#可以在字符串定义的时候加上@忽略转义符。。厉害了

UWP