【问题标题】:How to display a text in XAML which contains double and single quotation marks?如何在 XAML 中显示包含双引号和单引号的文本?
【发布时间】:2009-07-09 11:42:10
【问题描述】:

在我的 XAML 文件中,我想显示包含 double and single 引号的文本:

您不应该选择“如果是新的则复制”。

这些都不起作用:

<TextBlock Text="You shouldn't choose "Copy if New":"/>
<TextBlock Text="You shouldn't choose ""Copy if New"":"/>
<TextBlock Text="You shouldn't choose \"Copy if New\":"/>
<TextBlock Text='You shouldn't choose \"Copy if New\":'/>
<TextBlock Text='You shouldn\'t choose \"Copy if New\":'/>

我放弃了,我可以在 XAML 中这样做吗?

【问题讨论】:

  • 一些书籍(如 Adam Nathan 的 WPF 4,第 34 页)确实描述了可以使用反斜杠对其进行转义。但它不起作用。

标签: wpf xaml


【解决方案1】:

您应该对特殊字符进行编码:

<TextBlock Text='You shouldn&apos;t choose &quot;Copy if New&quot;:'/>
  • &amp;apos;'
  • &amp;quot;"

【讨论】:

    【解决方案2】:

    定义了 XML 转义 &amp;amp; &amp;quot; for " 和 &amp;amp; &amp;apos; for ' -- 如果 XAML 中的 XML 处理不能正确解释这些,那就开始担心吧。

    【讨论】:

      【解决方案3】:

      如果您不想编码特殊字符,可以使用:

      <TextBlock>
        <TextBlock.Text>
           You shouldn't choose "Copy if New":
        </TextBlock.Text>
      </TextBlock>
      

      【讨论】:

      • 解决方案很好,但存在语法错误:1)您忘记了“TextBlock.Text”结束标签的“/”2)您在“TextBlock”中缺少一个“t”结束标签
      猜你喜欢
      • 2021-12-16
      • 1970-01-01
      • 1970-01-01
      • 2018-11-15
      • 2018-09-02
      • 1970-01-01
      • 2021-03-17
      • 2013-08-16
      • 1970-01-01
      相关资源
      最近更新 更多