Отображение поля RTF из списка Sharepoint в приложении WPF

У меня есть приложение WPF, которое использует список SharePoint с помощью клиентской объектной модели.

Заказчик хочет иметь возможность заполнить одно из полей форматированным текстом. Это включает в себя форматирование, например полужирный / цвет / тип шрифта и т. Д. Он также включает гиперссылки.

Информация, которую я получаю из SharePoint, хранится в строке и выглядит примерно так:

‹Div class = \" ExternalClass82C42B1E597D49188F88ECA8C4EEB083 \ "› ‹p› Элемент тикера 3 Body ‹span style = \" color: # 000000 \ "› ‹/span› y ‹/p› ‹/div›

Когда я использую совет, который нашел здесь: Могу ли я связать HTML в элемент управления веб-браузера WPF?

Это выглядит так:

Тело позиции 3 в тикере

Что случилось с маленькой цифрой в конце? Есть ли правильный способ отображения Rich Text в моем приложении WPF, который включает интерактивные гиперссылки и форматирование?

Заранее спасибо.


person Craig    schedule 29.05.2012    source источник


Ответы (1)


Для тех, кто приезжает сюда и ищет решение, ответ двоякий.

1) Задан неправильный вопрос. Использование элемента управления в веб-браузере - не лучший способ сделать это. Вы не можете заставить ссылки открываться в IE (по крайней мере, непросто), и окно будет вести себя как веб-браузер. Нажатие F5 обновит окно, которое очистит его, поскольку в браузере нет адреса.

В любом случае проблема заключалась в том, что WPF использовал неправильный набор символов. Добавление этого в свой html устранит проблему с браузером:

html = String.Format("<html><META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; CHARSET=utf-8\"><body>{0}</body></html>", html);

2) На самом деле вы хотите использовать FlowDocumentScrollViewer. Инструкции о том, как это сделать, находятся здесь: Как получить гиперссылку FlowDocument для запуска браузера и перехода по URL-адресу в приложении WPF?

person Craig    schedule 11.06.2012