2009-06-18 22 views
5

我可以MultiBinding與工作的StringFormat:在單一綁定中使用StringFormat的正確語法是什麼?

<TextBlock.Text> 
    <MultiBinding StringFormat="{}{0} {1} (hired on {2:MMM dd, yyyy})"> 
     <Binding Path="FirstName"/> 
     <Binding Path="LastName"/> 
     <Binding Path="HireDate"/> 
    </MultiBinding> 
</TextBlock.Text> 

但是,什麼是單一結合的正確語法?下不工作(雖然它似乎是相同的語法this example):

<TextBlock Text="{Binding Path=HiredDate, StringFormat='{MMM dd, yyyy}'}"/> 

答:

感謝馬特,我需要的是你的兩個答案的組合,這個偉大工程:

<TextBlock Text="{Binding Path=HiredDate, 
    StringFormat='Hired on {0:MMM dd, yyyy}'}"/> 

回答

10

你要離開大括號出在你的榜樣格式字符串的,因爲你不使用它們作爲一個佔位符(就像你使用「{0}」中的String.Format( ))。

所以:

<TextBlock Text="{Binding Path=HiredDate, StringFormat='Hired on \{0\}'}"/> 
+1

你不覺得:

<TextBlock Text="{Binding Path=HiredDate, StringFormat='MMM dd, yyyy'}"/> 

如果你想引用某個字符串內佔位符值,你可以通過用反斜槓大括號這樣做你需要第二個例子中的反斜槓,它沒有它們,或者出於某種其他原因在那裏。 – 2009-06-18 11:59:30

相關問題