Поскольку возможности WPF XAML представляют собой расширенный набор возможностей HTML, почти все, что вам нужно сделать, - это сопоставить одно с другим.
Если вы вводите XHTML, вы можете просто использовать XSLT или LINQ-to-XML для получения данных.
Если вы используете XSLT, вы получите XAML, который вы анализируете с помощью XamlReader.Parse (), чтобы получить UIElement, который вы можете добавить в свое окно или другой контейнер WPF. Вероятно, это больше, чем использование LINQ-to-XML, потому что XSLT относительно ограничен.
Если вы используете LINQ-to-XML, вы можете создать XAML, а затем проанализировать его, как в случае XSLT, или вы можете просто создать дерево объектов напрямую. Если вы создаете XAML с использованием LINQ-to-XML, я бы написал реальный код перевода в VB.NET вместо C #, который является моим обычным предпочтительным языком. Синтаксис VB.NET «XML Literal» облегчает эту часть работы.
Если вы вводите произвольный HTML, а не XHTML, я бы использовал стороннюю библиотеку, чтобы преобразовать ее в XHTML и работать оттуда. Обработка всех странностей, связанных с анализом HTML, - это большая работа, и, вероятно, в основном она не связана с вашей реальной целью.
Если вы просто хотите отобразить HTML, не превращая его в объекты WPF, вы можете использовать элемент управления Frame.