在 XAML 中,如果您插入
<TextBlock Text="Hello World" />
您将看到“Hello World”字样。
如果你插入
<TextBlock Text="{Binding}" />
它将触发数据绑定功能。但是如果我真的希望显示文本是“{Binding}”呢?”
XAML 字符串中是否有等效的转义字符?
或者是我这样做的唯一解决方案:
<TextBlock>Binding</TextBlock>
在 XAML 中,如果您插入
<TextBlock Text="Hello World" />
您将看到“Hello World”字样。
如果你插入
<TextBlock Text="{Binding}" />
它将触发数据绑定功能。但是如果我真的希望显示文本是“{Binding}”呢?”
XAML 字符串中是否有等效的转义字符?
或者是我这样做的唯一解决方案:
<TextBlock>Binding</TextBlock>
您可以使用“{}”转义整个字符串:
<TextBlock Text="{}{Binding}"/>
或者单独的花括号可以用反斜杠转义:
<TextBlock Text="{Binding Foo,StringFormat='Hello \{0\}'}" />
根据马特的回应使用“{}”转义是可行的方法,但为了完整起见,您也可以使用 CDATA 部分:
<TextBlock>
<TextBlock.Text>
<![CDATA[{Binding}]]>
</TextBlock.Text>
</TextBlock>
但是,CDATA 部分对于多行文本更有用。
试试这个:
<TextBlock Text="{Binding}" />
并在您读取该值时对其进行转义。
您需要转义 { 和 } 字符,因此您最终会得到<TextBlock Text="\{Binding\}" />