2013-03-14 81 views
0

我在數據庫中有一個可以爲空的字段,稱爲Generation。它指定了諸如「Jr.」,「II」等等。我希望有條件地指定客戶端的生成,如果它不爲空,否則根本不顯示它。我認爲以下將工作:是否可以使用StringFormat屬性有條件地顯示一些文本?

<TextBlock Text="{Binding LastName}" /> 
<TextBlock Text="{Binding Generation, StringFormat= {0}}" /> 
<TextBlock Text=", " /> 

但是,我收到一個錯誤說,「0不支持在Windows Presentation Foundation(WPF)項目」。字段值Generation是一個varchar字段。我可以用TextBlock類的StringFormat屬性來做我想做的事嗎,還是我需要使用轉換器?

回答

0

你需要寫爲:

<TextBlock Text="{Binding Generation, StringFormat={}{0}}" /> 

這是由於使用標記擴展,這給了特殊的含義{}的性質。通過在開頭添加(當你的第一個格式說明符之前沒有文本)時,它的作用就是爲你「轉義」字符串格式規範,類似於如何使用@來處理C#中的字符串文字。

+0

它比\更像@。 – 2013-03-14 17:19:24

+0

@ H.B。是的 - 雖然它有點獨特,但好點,它更像'@',因爲它只用於「開始」 – 2013-03-14 17:22:39

相關問題