使用字符串格式正确转义Silverlight绑定中的“{”字符

时间:2012-11-20 17:45:10

标签: silverlight data-binding string-formatting

我正在尝试在silverlight中使用带有数据绑定的字符串格式,但是如果'{'字符是字符串格式中的第一个字符,则项目无法构建。

之前添加空格允许代码构建并显示我想要的内容,但是我想摆脱第一个空格。

<TextBlock Grid.Column="0"
           Grid.ColumnSpan="2"
           Grid.Row="11"
           Margin="2">
    <TextBlock.Text>
        <Binding ElementName="_DateTypes" 
                 Path="SelectedItem"
                 StringFormat=" {0}'s Ago "/>
        </TextBlock.Text>
    </TextBlock>

我尝试了以下

StringFormat=" {0}s Ago "
StringFormat="\{0}s Ago "
StringFormat="/{0}s Ago "
StringFormat="%s's Ago "

如果字符串为Day

,则获得以下结果
 Days Ago
\Days Ago
/Days Ago
Day

2 个答案:

答案 0 :(得分:2)

我不知道这是如何或为何有效,但你必须先加{}

StringFormat="{} {0}'s Ago "

(我想这只是一种语法解决方法,因为通常使用{启动属性表示绑定表达式。)

答案 1 :(得分:0)

我认为应该是

StringFormat="\{0\}s Ago "

转义两个符号