Я отчаянно искал простой способ отображения HTML в WPF-приложении.
Есть несколько вариантов:
1) использовать WPF WebBrowser Control
2) использовать Frame Control
3) использовать сторонний контроль
но я столкнулся со следующими проблемами:
1) Элемент управления WPF WebBrowser не является реальным WPF (это элемент управления Winforms, заключенный в WPF). Я нашел способ создать обертку для этого и использовать DependencyProperties для перехода к тексту HTML с привязками и измененными свойствами.
Проблема в том, что если вы помещаете элемент управления Winforms в WPF scrollviewer, он не учитывает z-index, что означает, что winform всегда находится поверх другого элемента управления WPF. Это очень раздражает, и я попытался обойти это, создав WindowsFormsHost, который содержит ElemenHost и т. Д., Но это явно нарушает мою привязку.
2) Frame Control имеет те же проблемы с отображением, если он показывает содержимое HTML. Не вариант.
3) Я не нашел собственный HTML-дисплей для WPF. Все опции являются winforms, и с вышеупомянутыми проблемами.
единственный выход, который у меня есть на данный момент, это использование глючного Microsoft HtmlToXamlConverter, который иногда дает сбой. ( 1010 * MSDN *)
Есть ли у кого-нибудь еще предложения по отображению HTLM в WPF без этих проблем?
извините за длинный вопрос, надеюсь, кто-нибудь знает, о чем я говорю ...