在保存之前添加如下语句:
排查1:
do { //redit is my richeditbox redit.Document.ApplyDisplayUpdates(); } while (redit.Document.ApplyDisplayUpdates() > 0);
作用:
如果ApplyDisplayUpdates>0 ,则表示使用了批量更新,显示的有细节没有体现在内部真实的rtf字符内.与之对应的是批量更新.
后记:
排查2:
我以为这样的操作解决了我遇到的不能保存字体的问题,但其实问题是另一个.
我使用Token获取文件权限,但是似乎文件被另存为之后,需要更新token,
否则再次使用以前的token打开似乎就会出现不能保存字体的情况.
===========
此问题没有解决
包括更改style等均无效,字体信息丢失也不是每次出现.没有找到问题原因
如果使用文件关联,直接打开rtf,字体可以保存.
而使用token获取文件,文件大概率不能保存字体信息.
具体原因未知....
===============
使用release编译似乎可以解决这个问题,debug下,rtf格式中字体信息无法保存?
后续继续观察.....