我需要在代码中的字符串中显示 TextBlock 中的特殊字符。
<TextBlock x:Name="tboxData" TextWrapping="Wrap" Text=">> <<" />
正在工作,但我需要从 c# 执行此操作:
tboxData.Text = ">> <<";
这不会在 TextBlock中打印>> << 。
我该怎么做?
这不应该工作吗?
tboxData.Text = ">><<";
XAML 要求您使用编码的原因是因为 XAML 会解析<
和>
字符,因此您需要确保解析器知道您想要显示<>
字符而不是将它们解析为标记。
只需使用:
tboxData.Text = ">><<";
在 C# 中编写字符串时,您不必担心 HTML 实体。它必须在 XAML 中完成,因为这些字符代表代码的开始和结束标记。
假设您可能出于某种原因需要使用编码字符(也许您没有使用文字并且正在读取 xml 文件或其他内容):
tboxData.Text = System.Web.HttpUtility.HtmlDecode(">> <<")
请注意,您必须添加对System.Web
程序集的引用。