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