html - 在 WPF 控件中显示带有 HTML 图像标记的文本
问题描述
我尝试显示一个包含字符串和 HTML 标签的文本,并渲染图像。
SourceText="TextToDisplay <img Source="Http://...cat.png"> and thats <b>it</b>";
RichTextBox 不能正常工作。
我发现了一些 NuGet 包:
- HtmlRenderer:但无法访问需要我的 Windows 凭据才能访问的图像,无法发送凭据,所以我收到图像错误 404。
- HtmlAgilityPack:不适用于图像
- HtmlRichTextBoxBehavior:不适用于图像
我没资源了......
用例是我尝试在 WorkItem 中复制 TFS 描述框,它可以包含 HTML 标记。
当我查询 TFS api 以获取描述时,这就是我们收到的内容,我想显示具有相同图像的同一个框......
解决方案
它是 WPF,因此您可以非常轻松地构建您想要的任何自定义控件。
TextBlock
从 a 和 a 中的Image
控件开始,StackPanel
然后从那里开始。如果您不想这样做,它不必比这更复杂。或者,如果您需要额外的功能,您可以添加一堆额外的功能。WPF 让您可以灵活地构建任何您想要的东西。
<StackPanel>
<TextBlock Text="TextToDisplay"/>
<Image Source="http://myUrl.../myImage.png"/>
</StackPanel>
这将它们一个接一个地放置。如果您希望它们相互叠加,请使用 aGrid
来固定它们。如果您想要鼠标悬停效果,请使用PopUp
控件。如果您想要 UI 中的实际超链接,请使用 WPFHyperlink
元素。
推荐阅读
- python - 使用 OpenCV 将 BGR 转换为 RGB 时出现断言错误
- c++ - OpenGL 投影矩阵显示正交
- c# - InsertOneModel 与 InsertOneAsyn 之间的区别
- html - 当用户单击箭头更改推荐时,我怎样才能让它转到下一条评论?
- ios - 每当我添加 FlutterFire 包时,Firebase 就会停止工作
- fortran - 如果使用不是直接从 MPI_COMM_WORLD 创建的组,则在 fortran MPI_COMM_CREATE_GROUP 中出现段错误
- java - 在 JLabel 中打开文件
- conda - 由于 python.app 错误,conda 更新后无法启动 Spyder
- javascript - 范围滑块 - 向下箭头跟随拇指
- ios - 无法在 iOS NativeScript Sidekick 中使用 openUrl 打开应用程序