- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我从 Windows 8 开始,我正在尝试将 HTML 转换为 RichTextBlock
.
我have read我可以使用这个功能:HtmlUtilities.ConvertToText
在TextBlock
但我找不到在 RichTextBlock
中使用此功能的方法!
根据我的理解和尝试I can't extend RichTextBlock
所以我不能每次都应用这个函数 RichTextBlock
叫做。
此外,我找不到任何方法将文本绑定(bind)到 RichTextBlock
和 building a parser仅对于简单的 HTML(我只想要段落和斜体/粗体)似乎有点矫枉过正。另外,我不知道应该在哪里进行解析,因为我是 RichTextBlock
似乎无法扩展。
我无法使用 WebView
因为我需要透明度(根据我阅读的 WebView doesn't have it )。
编辑
@mydogisbox 让我意识到我的研究走得太远了。
我可以使用 HtmlUtilities.ConvertToText
在我可以在 RichTextBlock
中绑定(bind)的属性的 getter 中.我无法绑定(bind)它,因为我正在尝试做 <Run Text="{Binding TextHTML}" />
没有 <Paragraph>
标签。
但是HtmlUtilities.ConvertToText
不保留斜体或粗体。只有段落 :/.
最佳答案
我最终使用了 package avaiable on gitHub从 HTML 转换为 RickTextBlock。
基本上您只需要打开包管理器控制台(工具 > 库包管理器 > 包管理器控制台)和 install the package运行 Install-Package RichTextBlock.Html2Xaml
。
然后您打开 RichTextBlockProperties.cs 并且您有需要复制的行。在我的例子中,我必须添加命名空间:
xmlns:rtbx="using:EventTests.Common"
然后您可以使用以下方法绑定(bind)具有 HTML 的属性:
<RichTextBlock rtbx:Properties.Html="{Binding ...}"/>
一些问题和一些解决方案
我在这个库中发现的一个问题是它如何处理没有 div 的简单 html。喜欢:
<p>Testing <i>italic</i> and something more.</p>
<p>More testing </p>
这打印:
Testing italic and something more.
More testing
但是,我想要这样的东西:
Testing italic and something more.
More testing
所以我不得不将第二段包装在一个 div 中(并且除了第一段之外的所有段落都可以包装)。
<p>Testing <i>italic</i> and something more.</p>
<div><p>More testing </p></div>
如果您将第一段换行,那么您将有一个额外的新行。
到目前为止,这是我找到的最佳解决方案。如果您发现更好,我将不胜感激,因为我正在测试和学习。如果您找到更好的解决方案,我会接受您的。
小心
如果您的 html 中包含“<”或“&”等符号,此方法将崩溃。我建议您在尝试使用该库之前替换这些字符。
关于html - 将简单的 HTML 转换为 RichTextBlock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13729540/
我有一个包含几个段落的 RichTextBlock。我需要一些段落具有背景颜色。我找不到段落或运行的背景属性。我该怎么做呢?在 WPF 中有一个 block ,但它似乎不存在于 WinRT 中。 最佳
小问题,有人有关于在 Windows8 - XAML 中使用 RichTextBlock 控件时不同数据格式提示的小示例吗? 目前,我正在 MVVM 中将 RichTextBlock 的段落元素绑定(
我希望能够在 RichTextBlock 元素中显示超链接,但我也希望它看起来正确。我能达到的最接近的是: 其 XAML 粘贴在下面 - 本质上,我使用 InlineUIElement 并编辑了资源以
我有一个 RichTextBlock用Hyperlink . 我想执行 Command单击超链接时来 self 的 ViewModel,因此我使用了交互 Behavior来自 Microsoft.Xa
我想在 RichTextBlock 中高亮选中的文本,但是当我在选择文本后单击“btnHighlight”按钮时,高亮的文本与选择不匹配(可能是因为超链接,但如何解决它?)。我哪里错了? 主页.xam
我在 RichTextColumns 中有一个 RichTextBlock,就像在默认 VS2012 模板中的 ItemDetailPage 中一样。我的 RichTextBlock 由排列整齐并分成
我想用 TextHighlighter 对象突出显示 richtextblock 的一些文本。我创建了一个 TextRange,将其添加到列表中,然后创建了一个新的 TextHighlighter 实
这就是我对齐控件的方式。我使用滚动查看器来制作富文
为什么不能处理richtextblock的tapped事件,我想获取richtextblock的taped点或者richtextblock溢出,如何解决? 最佳答案 如果您将 IsTextSelect
在我的 UWP 应用程序中,我在 ContentDialog 中有一个 RichTextBlock,我为每个元素设置了一些示例高度以检查它是否有效。 我确定 RichTextBlock 中的内容高于
我正在尝试在通用应用程序中将文本设置为 RichTextBlock,这是我在 xaml 中的代码:
我有这个非常简单的 RichtTextBlock: 在设计时,Runs 之间没有空格(这就是
我从 Windows 8 开始,我正在尝试将 HTML 转换为 RichTextBlock . 我have read我可以使用这个功能:HtmlUtilities.ConvertToText在Text
首先,我对 XAML 和 C# 都是全新的,所以请原谅我的一些愚蠢错误。非常感谢您的解释。 最近几个小时我一直在苦苦思索,试图找出最简单的事情之一:如何在按下按钮时向 RichTextBlock 添加
我一直在四处寻找有关将 html 内容绑定(bind)到我的项目详细信息页面上的翻转 View 中的富文本 block 的帮助,但找不到有关如何执行我所追求的操作的任何信息。 我正在构建一个简单的新闻
我似乎永远无法让 HasOverflowContent 在 RichTextBlock 上触发,即使我强制它更新其布局也是如此。这是我尝试过的: public MainPage() { thi
我在示例 itemDetailPage 中有 flipView,我在字符串中有包含 html 标签(粗体、斜体)的文本。我希望此字符串显示在 flipView 的 richTextBlock 中,但我
我在 webview 中遇到了一些问题,在我的 WebView 中,我正在加载带有图像的本地 HTMl 文件(转换为 Base64 字符串)并根据我们的要求添加 CSS, Ma
给定 xaml 代码,如 如何从后面的 C++ 代码向名为 richb 的 RichTextBlock 添加文本? 如果它是一个 TextBlock,它就是 richb().Text(L"An
我有一个 Windows Phone 通用应用程序,它有一个动态加载其内容的 RichTextBlock。有时内容很短,有时又太长,一页都装不下;因此,我希望 RichTextBlock 能够动态扩展
我是一名优秀的程序员,十分优秀!