2010-08-04 11 views
5

Kann jemand eine Möglichkeit vorschlagen, in Silverlight eine Problemumgehung für UpdateTarget() -Methode zu erstellen, die in WPF vorhanden ist? Das Entfernen der vorhandenen Bindung, die auf dem DP vorhanden ist, und das manuelle Festlegen des Werts ist für mich keine Option. DankeSilverlight UpdateTarget() Workaround für BindingExpression

+0

Warum benötigen Sie UpdateTarget()? Je nach dem Grund könnte es verschiedene Problemumgehungen geben. – Stephan

+0

Ich habe eine Bindung in meinem XAML und wir portieren eine bestehende Anwendung in Silverlight und verwenden den gleichen XML/Code hinter Dateien. Soweit der bestehende WPF-Code geht habe ich den folgenden Ausdruck: BindingExpression Ausdruck = someTextBox.GetBindingExpression (TextBox.TextProperty); Ausdruck.UpdateTarget(); Dies ist der vorhandene Code, und ich würde eine Erweiterungsmethode dafür SL ist nicht #if WPF-Direktiven zu verwenden ... Die Idee ist eine Methode, die wie BindingExpression.UpdateTarget() in WPF verhält. –

Antwort

7

Versuchen Sie etwas wie das. Ersetzen Sie ImageBlobMember durch das X: Name/Name des XAML-Steuerelements, und ersetzen Sie Image.SourceProperty durch den entsprechenden Wert, der vom Steuerelementtyp abhängt.

BindingExpression bindExp = 
ImageBlobMember.GetBindingExpression(System.Windows.Controls.Image.SourceProperty); 
Binding bind = bindExp.ParentBinding; 
ImageBlobMember.SetBinding(System.Windows.Controls.Image.SourceProperty, bind); 
+0

Dies ist, wie ich es am Ende getan habe, aber ich musste sicherstellen, dass ich nach Nullen suchte –

+0

Danke! Ich suchte nach einer Weile, und dies war die einzige Option, die funktional ausreichte, um die fehlende 'BindingExpression.UpdateTarget()' Methode in Silverlight 5 zu simulieren. – Jaans

Verwandte Themen