代码之家  ›  专栏  ›  技术社区  ›  Andrew Shepherd

我如何让TextBlock真正地说“{Binding}”?

  •  3
  • Andrew Shepherd  · 技术社区  · 16 年前

    <TextBlock Text="Hello World" />
    

    你会看到“Hello World”这个词。

    如果你插入

    <TextBlock Text="{Binding}" />
    

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

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

    <TextBlock>Binding</TextBlock>
    
    4 回复  |  直到 14 年前
        1
  •  11
  •   Matt Hamilton    16 年前

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

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

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

    <TextBlock Text="{Binding Foo,StringFormat='Hello \{0\}'}" />
    
        2
  •  6
  •   Tim Cooper    14 年前

    按照Matt的回答,用“{}”转义是可行的,但为了完整起见,您也可以使用CDATA部分:

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

    不过,CDATA部分对于多行文本更有用。

        3
  •  1
  •   Traveling Tech Guy    16 年前

    试试这个:

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

    当你读取值时,可以取消扫描。

        4
  •  0
  •   Pete OHanlon    16 年前

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