我有一个 ListView
,其中包含 WebView
等内容。当选择此列表中的 ListViewItem
时,我想通过 NavigateToString
方法将 HTML 绑定(bind)到 WebView
。
WebView 需要位于绑定(bind)列表中(因为它绑定(bind)到项目列表),并且必须使用 NavigateToString(因为 HTML 内容来自代码,而不是在网络上)
有办法做到这一点吗?如果是这样,最好的方法是什么?
最佳答案
当然,您可以使用附加依赖属性或Behavior来添加附加行为。您可以绑定(bind)一个字符串,当值更改时(例如,首次分配时),该字符串将导航到该字符串。
另一个问题可能是它的执行方式。我将 WebView 控件视为一个浏览器窗口,因此,如果您的 ListView 中有一百个项目,您可能不希望为所有这些项目创建一百个 IE 窗口。即使假设您使用默认的 VirtualizingStackPanel 作为 ListView 的 ItemsPanel - 这听起来像是许多问题的根源。我还没有尝试过,所以我可能是错的,但我宁愿尝试解析 html 并将其格式化以在常规 TextBlocks 中使用。对于非常基本的 html,如果您只有纯文本和链接,则可以将 WinRT XAML 工具包的 LinkedHtmlFragment 扩展与 RichTextBlock 一起使用。对于更奇特的东西,您可能需要自己编写一些代码或使用类似 HTML Agility Pack 的东西(虽然我不确定它是否支持 WinRT)。
关于c# - 如何在 ListView 中访问 WebView 的 NavigateToString 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676520/