2011-05-03 130 views
6

嘿傢伙,有誰能向我解釋爲什麼這不會呈現「VALUE IS DEFAULT」?WPF與StringFormat綁定

<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue=DEFAULT}" /> 

關於這個語法我缺少一些棘手的問題。先謝謝你。

回答

6

在WPF綁定不考慮的StringFormat而回落至FallbackValue在失敗的情況下。

您可以用什麼萊昂建議或PriorityBinding去。

- 編輯 -

這應該工作:

<TextBlock DataContext="{Binding Fail, FallbackValue=DEFAULT}" Text="{Binding StringFormat=VALUE IS {0}}" /> 
0

默認回退值用於優先綁定,如果您希望爲回退值顯示「VALUE IS DEFAULT」,請嘗試以下操作。

<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue='VALUE IS DEFAULT'}" /> 
+0

你的意思是如果FallbackBinding被使用的StringFormat不是? – 2011-05-03 16:47:42

+0

是的,我已經驗證了,當使用FallbackValue時,StringFormat被忽略 – 2011-05-03 16:56:17

1

我想這也可以使用TextBlock的內部運行工作:

 <TextBlock> 
      <Run Text="Value is : "/> 
      <Run Text="{Binding Fail,FallbackValue=Default}"/> 
    </TextBlock>