如何解决WPF-通过其FlowDocument对富文本格式RTF数据进行简单的序列化
|| 我有一个名为Location的课程:[Serializable()]
public class Location
{
public int id { get; set; }
public double latitude { get; set; }
public double longitude { get; set; }
public string name { get; set; }
public bool isAnOption { get; set; }
public double distanceFromYaelsParents { get; set; }
public double distanceFromGabrielsParents { get; set; }
public FlowDocument notes { get; set; }
}
notes
(类型FlowDocument
)获取窗口中拥有的WPF RichTextBox的内容。
我想使用一个简单的序列化方法,以便将从此类创建的对象保存到二进制文件中(以后再读取它们)。假设该项目称为location
:
using (Stream stream = File.Open(dataFileName,FileMode.Create))
{
BinaryFormatter bin = new BinaryFormatter();
bin.Serialize(stream,location);
}
因此,只要不包括FlowDocument
,一切都会很酷。我似乎不设法序列化那个。
能做到吗或者,是否有更好的方法来二进制(不是XAML)保存并读取其中包含图像和格式文本的RichTextBox的内容?
请详细说明,我对这些事情还很陌生。
谢谢
解决方法
FlowDocument无法序列化。有关可能的解决方案,请参阅David Ward对StackOverflow问题的回答。
基本思想:将FlowDocument转换为XAML(XML)并对其进行序列化。
在您的情况下,我将从序列化中排除FlowDocument属性,而是在getter / setter中具有可转换为FlowDocument的字符串属性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。