WPF-DataBinding mit einfachen arithmetischen operation?

Möchte ich hinzufügen, dass ein konstanter Wert auf eine eingehende gebunden integer. In der Tat habe ich mehrere Orte, wo ich binden wollen, zu der gleichen Quelle, Wert, aber hinzufügen, verschiedene Konstanten. Also die ideale Lösung wäre so etwas wie dieses...

<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}"/>

(HINWEIS: Dies ist ein Beispiel, um zu zeigen, auf die Idee, meine eigentliche Bindung Szenario ist nicht auf die canvas-Eigenschaft einer TextBox. Aber das zeigt, die Idee klarer)

Im moment die einzige Lösung, die ich denken kann, ist, setzen Sie viele verschiedene Quell-Eigenschaften, von denen jede gibt es eine unterschiedliche Konstante, auf den gleichen internen Wert. Also ich könnte so etwas tun...

<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myIntPlus5}"/>
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myIntPlus8}"/>
<TextBox Canvas.Top="{Binding ElementName=mySource, Path=myIntPlus24}"/>

Aber diese ist ziemlich düster, weil ich in Zukunft brauchen könnte, halten Sie das hinzufügen neuen Eigenschaften für neue Konstanten. Auch, wenn ich brauche, um den Wert zu ändern Hinzugefügt, ich muss gehen, ein alter Quelle-Objekt, das ist ziemlich naff.

Muss es eine weitere Allgemeine Möglichkeit, als dieses? Jede WPF-Experten irgendwelche Ideen?

InformationsquelleAutor Phil Wright | 2008-09-24

Schreibe einen Kommentar