将简单的 HTML 转换为 RichTextBlock

2023-11-21

我从 Windows 8 开始,尝试将 HTML 转换为RichTextBlock.

I 已读过我可以使用这个功能:HtmlUtilities.ConvertToText in a TextBlock但我找不到在中使用此功能的方法RichTextBlock!

据我了解和尝试我无法延长 the RichTextBlock所以我不能每次都应用这个函数RichTextBlock叫做。

另外,我找不到任何方法将文本绑定到RichTextBlock and 构建一个解析器仅仅对于简单的 HTML(我只想要段落和斜体/粗体)似乎有点矫枉过正。另外,我不知道应该在哪里进行此解析,因为我RichTextBlock似乎无法延长。

我无法使用WebView因为我need透明度(从我读到的WebView没有这个功能).

EDIT

@mydogisbox 让我发现我的研究走得太远了。

我可以用HtmlUtilities.ConvertToText在我可以绑定的属性的 getter 中RichTextBlock。我无法绑定它,因为我正在尝试这样做<Run Text="{Binding TextHTML}" />没有<Paragraph> tag.

However HtmlUtilities.ConvertToText不保留斜体或粗体。仅段落:/。


我最终使用了软件包可在 gitHub 上获取从 HTML 转换为 RickTextBlock。

基本上,您只需要打开包管理器控制台(工具>库包管理器>包管理器控制台)并安装包跑步Install-Package RichTextBlock.Html2Xaml.

然后打开 RichTextBlock Properties.cs,您将看到需要复制的行。就我而言,我必须添加名称空间:

xmlns:rtbx="using:EventTests.Common"

然后您可以使用以下方法绑定具有 HTML 的属性:

<RichTextBlock rtbx:Properties.Html="{Binding ...}"/>

一些问题和一些解决方案

我发现这个库的一个问题是它如何处理没有 div 的简单 html。喜欢:

<p>Testing <i>italic</i> and something more.</p>
<p>More testing </p>

这打印:

Testing italic还有更多的东西。
更多测试

但是,我想要这样的东西:

Testing italic还有更多的东西。

更多测试

所以我必须将第二段包裹在一个 div 中(并且除了第一段之外的所有段落都可以包裹)。

<p>Testing <i>italic</i> and something more.</p>
<div><p>More testing </p></div>

如果您将第一段换行,那么您将有一个额外的新行。

到目前为止,这是我找到的最好的解决方案。如果你发现更好,我很感激,因为我正在测试和学习。如果您找到更好的解决方案,我会接受您的。

当心

如果 html 中有“

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将简单的 HTML 转换为 RichTextBlock 的相关文章

  • WinRT 中的数据触发器?

    我能够找到事件触发 http msdn microsoft com en us library windows apps windows ui xaml eventtrigger 28v VS 85 29 aspx然而 在 WinRT 参考
  • 如何使用 HTML5 Javascript Canvas 获取三个碰撞形状的交集并删除不碰撞的部分?

    我最近专门针对 KonvaJs 发布了类似的问题here https stackoverflow com questions 64603077 how can i get the intersection of three shapes c
  • Prism 7. 将 PrismApplication.CreateShell() 与非 Window 控件一起使用

    我想从 6 3 更新到 7 我似乎遇到了障碍 在 App xaml 中使用 PrismApplication 类时 CreateShell 期望返回类型为 Window 而不是之前需要 DependencyObject 的 BootStra
  • 具有自动删除项目的 WPF 列表框

    我正在尝试设置一个列表框 用户可以通过单击他们想要删除的每个值来删除项目 我为列表框设置了样式 DisplayName 是项目类的成员 以便为每个项目包含一个按钮
  • 创建全屏 iframe

    我目前正在研究 XSS 攻击 目的是在客户端演示中使用它们 我是渗透测试员 我编写了一个工具 该工具将托管网站登录页面的恶意版本 获取用户名和密码 然后将受害者重定向回原始网站 然而 我一直在尝试使用 iframe 来让它工作 因为它看起来
  • WPF Window 类的 IDisposable 成员

    当我将 IDisposable 类成员添加到 Windows 窗体 Form 类时 我将处置代码添加到 Form 的 Dispose 方法中 当我将 IDisposable 类成员添加到 WPF Window 类 不是 IDisposabl
  • 使用 bootstrap 将并排的网格位置交换到顶部和底部

    我有两个 div 内容和图像 它们在中等屏幕中并排放置 col md 6 内容 col md 4 图片 因此 当屏幕尺寸更改为小屏幕和 xs 屏幕时 这些 div 不应该并排放置 它们应该像这样顶部和底部对齐 image content 这
  • 属性和依赖属性有什么区别

    依赖属性的创建方式与属性相同 依赖属性是否仅在创建自定义控件时使用 依赖属性和标准属性有很大不同 依赖属性提供的关键功能是支持binding and 动画片 如果您想使用Binding或模板绑定该属性需要是依赖属性 当对属性进行动画处理时
  • Flex、AngularJS + Masonry、akoenig/angular-deckgrid 等 [重复]

    这个问题在这里已经有答案了 我一直在发送此电子邮件 我即将发布一个用于 Web 应用程序安全的应用程序 它需要使用像 Masonry 这样的网格 我已经尝试过所有的 每一个角度模块 指令和不同的方法 包括基于 CSS 的技术 纯 Vanil
  • 为什么绑定到 IEnumerable 的 ListBox 不更新?

    我有以下 XAML
  • 如何在 Windows 网络中的 Intranet Web 应用程序中获取用户的用户名

    我内部有一个简单的 HTML 页面 它只显示一个表单并要求用户填写 我想自动捕获Windows域用户名和机器名 并将其与表单中收集的数据一起提交 我可以在客户端这样做吗 HTML JavaScript 或者我被迫在服务器端执行此操作 我还不
  • 保证金如何运作?

    我在下面提供了marginfix这是一个块级元素并且one and two也是块级的 但它们是浮动的 这就是为什么它们位于同一行布局的原因 但是marginfix也不浮动 块级元素应位于该元素下方 如下所示
  • 指定 HTML5 输入类型 = 日期的值输出?

    我想将本机日期选择器添加到我的应用程序中 该应用程序当前使用遗留的本地系统 日期输入支持尚未广泛普及 但如果我可以基于兼容性提供这两种实现 那就太理想了 有没有办法指定 HTML 日期选择器给出的值的输出 歌剧的默认设置是yyyy mm d
  • 从代码中,如何创建对存储在附加属性中的对象的属性的绑定?

    我们有一个继承的附加属性来存储一个对象 在可视化树的更下方 我们希望从代码绑定到该对象的属性 通常我们像这样构建绑定的路径部分 var someBinding new Binding Path new PropertyPath Attach
  • WindowsFormsHost ZOrder

    看起来 WindowsFormsHost 控件被设置为显示在顶部 有没有办法更改其 z 顺序 以允许同一窗口上的其他 WPF 控件在 WindowsFormsHost 控件之上可见 不幸的是 不能 由于 winformshost 合成到 W
  • django 模板上的 vscode html 自动套用格式

    我喜欢 VSCode 的保存自动格式功能 直到它弄乱了我的模板代码 它错误地将我的 django 模板语法格式化为一行代码 有时非常长的一行 所以不用这段代码 for row in ABCDEFGH tr for col in 123456
  • WPF:绑定到 ControlTemplate 中的命令

    我正在尝试向自定义 ListView MyListView 添加一个按钮 该按钮会触发 MyListView 中定义的命令 MyCustomCommand 我通过应用 ControlTemplate 添加了按钮 和标题文本 问题是我还没有找
  • CSS以两种颜色显示一个字符[重复]

    这个问题在这里已经有答案了 css中是否可以用两种颜色制作单个字符 我的意思是例如字符 B 上半部分为红色 下半部分为蓝色 h1 font size 72px background webkit linear gradient red 49
  • 浮动CSS属性导致父div不继承高度?

    我在 div 中有一个元素设置为float right但是 它会导致最外面的 div 不环绕 这是jsfiddle http jsfiddle net W792X 5 for it 我试图让提交按钮在 div 内浮动 但设置该属性似乎会导致
  • DataContractSerializer 事件/委托字段问题

    在我的 WPF 应用程序中 我正在使用DataContractSerializer序列化对象 我发现它无法序列化具有事件或委托声明的类型 考虑以下失败的代码 Serializable public abstract class BaseCl

随机推荐

  • 带有 Hibernate 后端的鉴别器、WrongClassException JPA

    我需要有一个抽象超类 我有 6 个该抽象超类的子类 我使用 JPA 中的 SINGLE TABLE 继承策略映射它们 在另一个 POJO 中 我与这些 1 6 类有一对多的关系 OneToMany mappedBy mSearchPrefe
  • HTML5 sessionStorage 可以写入磁盘吗?

    相关是否有安全的浏览器缓存 HTML5 会话存储的任何实现是否会写入磁盘 例如我可以依赖拥有一个 安全 私有 缓存吗 我知道它无法在浏览器会话之外持续存在 无论它是否 超时 已结束 注销 浏览器关闭 崩溃 计算机上的电源按钮 See HTM
  • GAE 数据存储备份

    是否有必要对GAE的数据存储进行备份 有谁有这样做的经验 建议和技巧吗 为了防止人为错误 始终需要进行备份 由于 App Engine 鼓励您构建针对同一数据集运行的代码的多个修订版本 因此能够返回非常重要 一个简单的转储 恢复工具在散装机
  • CALayer渲染上下文

    I use CATransform3D rotationAndPerspectiveTransform CATransform3DIdentity rotationAndPerspectiveTransform m34 1 0 500 成功
  • AWS Athena:删除日期范围之间的分区

    我有一个 athena 表 其基于日期的分区如下 20190218 我想删除去年创建的所有分区 我尝试了以下查询 但没有成功 ALTER TABLE tblname DROP PARTITION partition1 lt 20181231
  • 仅使用 CSS 的多色文本

    我不确定我的标题是否连贯地表达了我的问题 但我将在下面解释 我想为每个分配不同的颜色特点在文本字符串中使用only CSS 要查看我的问题的视觉效果以及进一步的解释 http codepen io Connor3xL pen ZOyzJK
  • php安装错误

    我已经使用 php 5 2 11 的插件版本安装了 WampServer2 1e x32 堆栈 我下载了apc3 0 19 dll并放在目录下 并在php ini中提供了所需信息 为了让它发挥作用 重新启动 wamp 服务器并导航到 php
  • 如何使用vbscript(同步)调用Web服务?

    其实例子有很多 我就用过其中之一 但它是异步工 作的 我的意思是它不会等待我调用的函数完成 function ProcessSend Set oXMLHTTP CreateObject MSXML2 XMLHTTP 4 0 Set oXML
  • 使用 javascript 获取我当前的地址

    我有兴趣使用 Javascript 获取我当前的地址 并通过组装其他一些 SO 线程来解决这个问题 1 2 所以想发布这个问题和答案 请参阅下面的答案 这是 HTML p p p p 这是JS var latitudeAndLongitud
  • Android/Java将String日期转换为long类型

    我需要将格式为 dd mm yyyy 的字符串转换为长类型 为了将值传递给android中的calendarProvider 目前我有 Calendar calendar Calendar getInstance long startEnd
  • Facebook PHP SDK - 图表返回错误:无效的 OAuth 访问令牌

    这是我的代码 登录 php
  • 按 WooCommerce 管理订单列表中的特定元字段过滤订单

    谁能告诉我 如何在 woo commerce 订单页面中按公司名称添加 设置过滤器 请分享功能或显示我的错误 以便我可以解决它 我尝试过但没有用 非常感谢您的帮助 add action restrict manage posts admin
  • TypeScript 泛型只会在简单情况下推断联合类型

    这是一个代码示例 declare function test ok
  • 当我在函数体中设置状态时,为什么 React 会变成 Infinite?

    如果我们用相同的值设置状态组件不会重新渲染 但当我在函数体中设置状态时它不适用 例如 如果我在按钮单击和单击按钮上设置相同的状态 则组件不会在按钮单击时重新渲染 function Test1 const name setName useSt
  • 如何解决未经检查的演员警告?

    Eclipse 向我发出以下形式的警告 类型安全 从 Object 到 HashMap 的未经检查的转换 这是对 API 的调用 我无法控制该 API 返回的对象 HashMap
  • noexcept 规范中是否允许使用“this”?

    我有一些代码需要我使用 this 但我希望它是 no except 友好的 struct foo Would actually be something with conditional noexcept void do something
  • Oracle PL/SQL:将整行从触发器转发到过程

    有一个 Oracle 10i PL SQL 行级触发器 它负责三个独立的任务 由于这样触发器相对混乱 我想将这三个任务导出到三个存储过程中 我正在考虑使用my table ROWTYPE参数或者可能是过程的集合类型 但我主要关心的是如何填充
  • 将数据从关系型数据库迁移到NoSQL

    是否有可能 是否有工具 最佳实践等将数据从关系数据库迁移到 NoSQL 格式 我有一个 JEE6 应用程序 利用 Hibernate ORM 持久保存到 MySQL 但现在我们希望转向 NoSQL 解决方案 但需要携带现有数据 Thanks
  • (OS 10048) 每个套接字地址(协议/网络地址/端口)通常只允许使用一次。视窗阿帕奇

    当尝试在 Windows 服务器上执行 httpd exe 时 出现以下错误 OS 10048 每个套接字地址 协议 网络地址 端口 通常只允许使用一次 AH00072 make sock 无法绑定到地址 myIpAddress 80 AH
  • 将简单的 HTML 转换为 RichTextBlock

    我从 Windows 8 开始 尝试将 HTML 转换为RichTextBlock I 已读过我可以使用这个功能 HtmlUtilities ConvertToText in a TextBlock但我找不到在中使用此功能的方法RichTe