将richtextbox数据与格式一起保存在数据库中

时间:2010-06-21 06:21:28

标签: .net wpf vb.net richtextbox

我的一个应用程序(WPF)中有一个富文本框。现在,我想将富文本框的数据及其格式(例如粗体,彩色等)存储到数据库(SQL Server)中。目前,我将文本框的整个XAML存储在数据库字段中。但是,我不确定这是否是正确的方法。期待您的建议!

1 个答案:

答案 0 :(得分:2)

另一种方法是以RTF格式存储数据,这可能比Xaml稍微紧凑,并且提供了额外的好处,可以轻松导入到无法解析Xaml的其他应用程序中:

string GetContentAsRTF(RichTextBox rtb)
{
    var range = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);

    using (var stream = new MemoryStream())
    using (var reader = new StreamReader(stream))
    {
        range.Save(stream, DataFormats.Rtf);
        stream.Position = 0;
        return reader.ReadToEnd();
    }
}