我想將一個常量值添加到傳入的綁定整數。事實上,我有幾個地方我想要綁定到相同的源值,但添加不同的常量。因此,理想的解決辦法是這樣的......簡單的算術運算WPF DataBinding?
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myInt, Constant=5}"/>
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myInt, Constant=8}"/>
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myInt, Constant=24}"/>
(注:這是爲了顯示這個想法的例子,我實際的結合情況是不是一個TextBox的帆布財產但這給出了這個概念。更清楚地)
目前我唯一能想到的解決方案是公開許多不同的源屬性,每個屬性都增加了一個不同的常量到相同的內部值。所以我可以做這樣的事情...
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myIntPlus5}"/>
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myIntPlus8}"/>
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myIntPlus24}"/>
但這是非常嚴峻的,因爲在未來我可能需要不斷添加新屬性的新常量。另外,如果我需要更改附加值,則需要更改源對象,這非常不錯。
必須有比這更通用的方式嗎?任何WPF專家有任何想法?
值轉換器可以採取參數似乎事實上用它就像在這裏解決問題的一個好方法。感謝您的意見。 – 2008-09-24 05:51:51