Сохранение данных richtextbox внутри базы данных вместе с форматированием - PullRequest
1 голос
/ 21 июня 2010

У меня есть расширенное текстовое поле в одном из моих приложений (WPF).Теперь я хочу сохранить данные расширенного текстового поля вместе с его форматированием (например, жирный, цветной и т. Д.) в базе данных (SQL Server).В настоящее время я храню весь XAML текстового поля в поле базы данных.однако я не уверен, что это правильный подход.Ждем ваших предложений!

1 Ответ

2 голосов
/ 11 июля 2010

Альтернативой является хранение данных в формате 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();
    }
}
...