C# 在metro应用程序中加载RichTextBlock中的HTMl

C# 在metro应用程序中加载RichTextBlock中的HTMl,c#,microsoft-metro,windows-store-apps,richtextblock,C#,Microsoft Metro,Windows Store Apps,Richtextblock,我在webview中遇到了一些问题, 在我的webview中,我正在加载带有图像的本地HTMl文件(转换为Base64字符串)并根据我们的要求添加CSS,如下所示 MainView.NavigateToString(css.ToString()); //CSS is String Builder 现在,我在同一个页面上添加了弹出窗口,如果你点击文本,它将在webview中显示相关的HTML页面,然后我尝试用水平导航加载HTML等等 但webview不允许对其进行任何其他

我在webview中遇到了一些问题, 在我的webview中,我正在加载带有图像的本地HTMl文件(转换为Base64字符串)并根据我们的要求添加CSS,如下所示

            MainView.NavigateToString(css.ToString()); //CSS is String Builder
现在,我在同一个页面上添加了弹出窗口,如果你点击文本,它将在webview中显示相关的HTML页面,然后我尝试用水平导航加载HTML等等

但webview不允许对其进行任何其他控制, 因为这个原因,我选择RichTextBlock

但是在RichTextBlock中加载HTML字符串的起始点是什么


问题:如何在RichTextBlock或任何其他控件而不是Webview中加载HTML字符串。

您应该阅读来自MSDN的这篇博文


如果你想从那篇文章中跳出来。

不幸的是,我认为WebView是将HTML(作为内容而不仅仅是文本)加载到C#/Xaml应用程序中的唯一方法,除了从一开始就创建WinJS/HTML应用程序之外。如果您可以将HTML转换为XAML,那么您可以使用
XamlReader
,更具体地说,
XamlReader.Load
@NateDiamond,在使用了我必须用于XAML的
XamlReader
控件之后,我没有得到您的意图。现在我正在webview中加载字符串(其中包含图像、带有HTML的CSS)。我知道我可以用RichTextBlock来做这个。但我想知道如何使之成为可能。谢谢您考虑我的问题。请查看答案。基本上,您需要将HTML转换为XAML控件,如网格、运行、跨度等。然后,您可以使用XamlReader.Load从HTML解析新的自定义控件,并将其设置为RichTextBlock的内容(通过其BlockCollection属性)。可以说,这很难做到。您可能想查看库,虽然它已经很久没有更新了,所以您可能需要对它进行一些工具化。它看起来很好,我会检查它…&很快给你回电话。你建议的样品有误,我必须去买它[]谢谢你太棒了!我也在提高我的wpf/winrt水平