У меня есть форматируемое поле в одном из моих приложений (WPF). Теперь я хочу хранить данные форматируемого поля наряду с его форматированием (например, полужирный, окрашенный и т.д.) в базу данных (SQL Server). В настоящее время я храню целый XAML текстового поля в поле базы данных. однако, я не уверен, является ли это правильным подходом. Нетерпеливое ожидание предложений!
Альтернативой является хранение данных в формате 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();
}
}