如何让TextBlock逐字地说出“{Binding}”?

时间:2009-09-07 07:43:08

标签: wpf xaml data-binding text textblock

在XAML中,如果插入

<TextBlock Text="Hello World" />

您会看到“Hello World”字样。

如果您插入

<TextBlock Text="{Binding}" />

它将触发数据绑定功能。但是,如果我真的希望显示文本为“{Binding}”,那该怎么办?“

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

或者是我唯一能做到这一点的解决方案:

<TextBlock>Binding</TextBlock>

4 个答案:

答案 0 :(得分:11)

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

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

或者可以使用反斜杠转义单个花括号:

<TextBlock Text="{Binding Foo,StringFormat='Hello \{0\}'}" />

答案 1 :(得分:6)

根据Matt的回复使用'{}'进行转义是可行的方法,但为了完整起见,您还可以使用CDATA部分:

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

虽然CDATA部分对多行文字更有用。

答案 2 :(得分:1)

试试这个:

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

当你读到这个价值时,你会忘记它。

答案 3 :(得分:0)

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