我想将一个常量值添加到传入的绑定整数。事实上,我有几个地方我想要绑定到相同的源值,但添加不同的常量。因此,理想的解决办法是这样的......简单的算术运算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