Кто-нибудь знает способ хранения произвольных данных в RichTextBox
без возможности просмотра этих данных пользователем? Спецификация RTF 2007 года включает в себя аннотации ("\ atnid", "\ atnauthor", "\ annotation" и т. Д.), Но всякий раз, когда я вставляю их в .Rtf
*1003*, аннотации исчезают (предположительно потому, что RichTextBox
не поддерживает аннотации в формате RTF.) У меня есть связанный вопрос о том, возможно ли хранить информацию внутри образа метафайла . Любое из этих решений будет приемлемым. ТИА.
Я пытаюсь что-то вроде этого:
string objectXml = MySerialization.ToXml(object);
string commentRtfFragment = String.Format(@"{{\*\atnid MyApp}}{{\*\atnauthor MyApp}}{{\*\annotation {0}}}", objectXml);
string imageRtf = String.Format(@"{{\rtf1 {{\pict\wmetafile{0}\picw{1}\pich{2}\picwgoal{3}\pichgoal{4} {5}}}{6}}}",
PixelMappingMode.MM_ANISOTROPIC, picw, pich, picwgoal, pichgoal, imageHex, commentRtfFragment);
richTextBox.SelectedRtf = imageRtf;
Обновление: метаданные приложения («аннотации») должны соответствовать определенным местоположениям в RTF. Также будет несколько аннотаций для RichTextBox (или документа RTF, если хотите). Я также хочу, чтобы метаданные сохранялись с RTF. Таким образом, хотя было бы возможно сохранить метаданные в элементе управления. Метка, я должен был бы позаботиться о добавлении информации в базу данных сам, отмечая всякий раз, когда пользователь редактировал RTF, и каким-то образом определял новое местоположение метаданных после редактировать.