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的字符串属性。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...