WPF标记控件

WPF标记控件,wpf,markup,Wpf,Markup,我有一个需要显示的文本字符串。我目前在一个文本框中显示它 我的要求已更改,现在我需要以红色显示此字符串的部分 我已经看过了,我所能看到的以多种颜色显示文本的是WebBrowser或RichTextbox。这两个都比我希望使用的更复杂 我可以以任何方式格式化文本字符串(使用任何类型的标记) wpf是否有某种简单的标记控件?(注意:这将在一个可以有数百行的数据网格上进行,因此它不能是一个内存/处理密集型控件。)AvaloneEdit应该做您想要做的事情。有一个Nuget软件包。另见此处: 另外,如

我有一个需要显示的文本字符串。我目前在一个文本框中显示它

我的要求已更改,现在我需要以红色显示此字符串的部分

我已经看过了,我所能看到的以多种颜色显示文本的是WebBrowser或RichTextbox。这两个都比我希望使用的更复杂

我可以以任何方式格式化文本字符串(使用任何类型的标记)


wpf是否有某种简单的标记控件?(注意:这将在一个可以有数百行的数据网格上进行,因此它不能是一个内存/处理密集型控件。)

AvaloneEdit应该做您想要做的事情。有一个Nuget软件包。另见此处:

另外,如果文本未被编辑,我认为您可能应该使用类似于带有自定义项模板的列表框的东西——特别是当整行要高亮显示时。

如果不需要编辑,您可以使用

从以上链接:

TextBlock设计为轻量级,专门用于将流内容的一小部分集成到用户界面(UI)中。TextBlock针对单行显示进行了优化,并为最多显示几行内容提供了良好的性能

TextBlock未针对需要显示多行内容的场景进行优化;对于这样的场景,就性能而言,与TextBlock相比,FlowDocument结合适当的查看控件是更好的选择。在TextBlock之后,FlowDocumentScrollViewer是下一个用于显示流内容的最轻控件,它只提供了一个具有最少UI的滚动内容区域。FlowDocumentPageViewer围绕流内容的“一次一页”查看模式进行了优化。最后,FlowDocumentReader支持查看流内容的最丰富的功能集,但相应的权重更大

显示红色文本的链接中的修改示例:

<Grid>
    <TextBlock TextWrapping="Wrap" >
        <Bold>TextBlock</Bold> is designed to be <Italic>lightweight</Italic>
              and is geared  <Run Foreground="Red">specifically</Run> at integrating 
              <Italic>small</Italic> portions of flow content into a UI.

    </TextBlock>
</Grid>

TextBlock的设计是轻量级的
特别是在整合方面
将内容的一小部分流到UI中。

您如何知道文本的哪个部分应该是红色的?是按位置还是按过滤器?我要插入某种分隔符或标记。我想我将只使用文本块的语法。我想AvalonEdit可以做到这一点。但我认为这对我所需要的控制太重了。正如我在问题中所说,这将在一个可以有数百行的数据网格上进行,因此它不能是一个内存/处理密集型控件