如何在具有绑定的 WPF 文本块中允许 HTML 标记

本文关键字:标记 HTML 文本 WPF 绑定 | 更新日期: 2023-09-27 18:35:24

我在xaml中定义了一个带有绑定的文本块:

<TextBlock Text="{Binding ElementName=MyClass, Path=MyStringProperty}"/>

例如,当我将MyStringProperty设置为 ,<b>Hello, World!</b> 时,它显示为纯文本。有没有办法告诉控件使Hello, World!字符串加粗?

如何在具有绑定的 WPF 文本块中允许 HTML 标记

你不能

用这样的TextBlock做到这一点。

您需要将文本块的 FontWeight 属性绑定到保存粗体/非粗体值的变量。

如果值是布尔值,则需要编写一个转换器以将布尔值映射到字体权重属性。

如果要根据用户键入的内容在运行时更改文本的粗体(或任何其他属性),则需要使用RichTextBox进行查看。

使用 Inlines 属性:

<TextBlock Text="{Binding ElementName=MyClass, Path=MyStringProperty}">
    <Run FontWeight="Bold" Text="{Binding BoldText}" />
</TextBlock>