初學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已經讀取到了帶格式的文本了
以下格式的富文本,寫到字元出後
{\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#可以在字元串定義的時候加上@忽略轉義符。。厲害了