WPF-通过其FlowDocument对富文本格式(RTF)数据进行简单序列化

WPF-通过其FlowDocument对富文本格式(RTF)数据进行简单序列化,wpf,serialization,rtf,Wpf,Serialization,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;

我有一个叫做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的内容

我想使用一个简单的序列化来将从这个类创建的对象保存到一个二进制文件中(然后读取它们)。假设该项被称为
位置

using (Stream stream = File.Open(dataFileName, FileMode.Create))
{
    BinaryFormatter bin = new BinaryFormatter();
    bin.Serialize(stream, location);
}
因此,只要不包括
流程文档
,一切都很酷。我似乎没办法把那个连载起来

能做到吗?或者,有没有更好的方法用二进制(而不是XAML)保存和读取包含图像和格式化文本的RichTextBox的内容

请详细说明,我对这些东西还很陌生


谢谢

流程文档不可序列化。有关可能的解决方案,请参见David Ward的答案

基本思想:将FlowDocument转换为XAML(XML)并序列化它


在您的情况下,我将从序列化中排除FlowDocument属性,而是在getter/setter中使用一个字符串属性来转换FlowDocument。

Phillip,谢谢。我将研究ypu提供的链接,尝试XAML序列化,然后序列化。问题是如果我从RTF上取下字符串,我会丢失粘贴的图像。。。