3

在 XAML 中,如果您插入

<TextBlock Text="Hello World" />

您将看到“Hello World”字样。

如果你插入

<TextBlock Text="{Binding}" />

它将触发数据绑定功能。但是如果我真的希望显示文本是“{Binding}”呢?”

XAML 字符串中是否有等效的转义字符?

或者是我这样做的唯一解决方案:

<TextBlock>Binding</TextBlock>
4

4 回答 4

11

您可以使用“{}”转义整个字符串:

<TextBlock Text="{}{Binding}"/>

或者单独的花括号可以用反斜杠转义:

<TextBlock Text="{Binding Foo,StringFormat='Hello \{0\}'}" />
于 2009-09-07T07:46:11.467 回答
6

根据马特的回应使用“{}”转义是可行的方法,但为了完整起见,您也可以使用 CDATA 部分:

<TextBlock>
    <TextBlock.Text>
        <![CDATA[{Binding}]]>
    </TextBlock.Text>
</TextBlock>

但是,CDATA 部分对于多行文本更有用。

于 2009-09-07T09:44:14.767 回答
1

试试这个:

<TextBlock Text="&#123;Binding&#125;" />

并在您读取该值时对其进行转义。

于 2009-09-07T07:48:56.403 回答
0

您需要转义 { 和 } 字符,因此您最终会得到<TextBlock Text="\{Binding\}" />

于 2009-09-07T07:49:28.480 回答