Отображение Html в WinRT с помощью RichTextBlock или другого компонента

Я хочу показать html в строке с некоторым компонентом. Теперь я использую RichTextBlock, и я попробовал несколько расширений для преобразования html в xaml или rtf, но я не нашел работы с WinRT. Я знаю, что могу использовать WebView, но это не так красиво. Я просто хочу немного изменить ItemDetailPage (где используется RichTextBlock), чтобы показать пользователям элементарный html (полужирный, курсив, ссылки, изображения,...).

Есть ли какой-то компонент или какой-то способ, как это сделать (а не веб-просмотр)? Или есть рабочий конвертер?

Ответ 1

У вас есть 2 способа

  • создать или получить собственный html для анализатора xaml для использования содержимого в качестве источника RichTextBox
  • Использование WebView для отображения содержимого html

Я рекомендую WebView, потому что этот компонент имеет множество функций, которые очень сложно реализовать в качестве парсера

  • поддержка javascript
  • Поддержка css
  • Плохая форма (реальный мир) Поддержка html
  • и т.д.

Итак, в элементе управления WebView вы можете использовать метод WebView.NavigateToString для отображения содержимого html, хранящегося в строке.

Yo может даже изменять строку стилей изменений, добавлять скрипты и т.д., так как вам нужно настраивать внешний вид веб-просмотра.

NavigateToString не поддерживает привязку, но я написал статью (испанский), рассказывающую, как делать, используя прикрепленные свойства: http://blogs.msdn.com/b/juank/archive/2012/10/29/tutorial-crear-app-lector-rss-winrt-parte-7.aspx

Используйте этот код (plex) для разбора, если он не подходит точно, вы можете изменить код для своего собственного.;) http://html2xaml.codeplex.com/

Другим разумным вы сами создадите оду, если вы хотите разбить страницы в тексте столбца (на горизонтальное чтение), вы должны использовать RichTextBlock, использовать класс hepler RichTextColumns (входит в общую/папку при запуске приложения из шаблона) и попробуйте разобрать HTML на XAML.

Ответ 2

Наконец-то я устал от нехватки поддержки Html, поддерживаемой WinRT, для преобразования Xaml и написал свой собственный. Для ударов я положил его на codeplex. Чтобы еще больше ударить, и экспериментировать с NuGet, я тоже опубликовал его там...

Очевидно, что это не конец преобразования Html в Xaml, но это начало...

Ответ 3

Я реализовал библиотеку, которая анализирует HTML и отображает HTML с помощью собственных элементов управления. Компонент очень гибкий и расширяемый.

Посмотрите: