2013-10-22 109 views
1

是否有可能寫出這樣的事情是否可以在其他綁定中使用綁定?

<TextBlock Text="{Binding Path=TextSource, StringFormat='{Binding Path=StringFormat}' }" 

或者單一的方法是具有以下三個特徵:一是對一些價值以及其他有關該值的字符串表現,第三個用於格式字符串。在這種情況下,TextBox與值的字符串表示綁定。格式字符串更改時字符串表示發生更改

回答

1

是的,它可能在一般情況下,您的情況是不可能的,因爲StringFormat不是依賴屬性。

綁定僅適用於依賴屬性。

如果你希望工作,創建一個Freezable類型的資源字典,讓它繼承實際的DataContext。進一步使用StaticResource擴展來在Binding中設置StringFormat。

StringFormat不是DependencyProperty,但它接受{StaticResource someKey}。

這是一種解決方法。但它會工作。

另一種替代解決方案是附屬性。

附加屬性是可綁定的。您需要聽取附屬屬性的屬性更改事件,並更改處理程序內的StringFormat。

相關問題