0

我需要在代码中的字符串中显示 TextBlock 中的特殊字符。

<TextBlock x:Name="tboxData" TextWrapping="Wrap" Text="&gt;&gt; &lt;&lt;" />

正在工作,但我需要从 c# 执行此操作:

tboxData.Text = "&gt;&gt; &lt;&lt;";

这不会在 TextBlock中打印>> << 。

我该怎么做?

4

3 回答 3

4

这不应该工作吗?

tboxData.Text = ">><<";

XAML 要求您使用编码的原因是因为 XAML 会解析<>字符,因此您需要确保解析器知道您想要显示<>字符而不是将它们解析为标记。

于 2013-01-02T17:06:07.873 回答
3

只需使用:

tboxData.Text = ">><<";

在 C# 中编写字符串时,您不必担心 HTML 实体。它必须在 XAML 中完成,因为这些字符代表代码的开始和结束标记。

于 2013-01-02T17:05:53.713 回答
3

假设您可能出于某种原因需要使用编码字符(也许您没有使用文字并且正在读取 xml 文件或其他内容):

tboxData.Text = System.Web.HttpUtility.HtmlDecode("&gt;&gt; &lt;&lt;")

请注意,您必须添加对System.Web程序集的引用。

于 2013-01-02T17:14:39.923 回答