2010-08-04 16 views
5

Qualcuno può suggerire un modo per creare in Silverlight una soluzione alternativa per il metodo UpdateTarget() esistente in WPF? La rimozione del bind esistente esistente sul DP e l'impostazione manuale del valore non sono un'opzione per me. GrazieSilverlight UpdateTarget() soluzione alternativa per BindingExpression

+0

Qual è la vostra ragione per aver bisogno di UpdateTarget()? A seconda del motivo potrebbero esserci diversi soluzioni alternative. – Stephan

+0

Ho un binding nel mio XAML e stiamo eseguendo il porting di un'applicazione esistente su Silverlight e utilizzando lo stesso codice XML/codice dietro i file. Per quanto riguarda il codice WPF esistente, ho la seguente espressione: BindingExpression espressione = someTextBox.GetBindingExpression (TextBox.TextProperty); expression.UpdateTarget(); Questo è il codice esistente e vorrei creare un metodo di estensione per questo SL non usa le direttive #if WPF ... L'idea è di avere un metodo che si comporta come BindingExpression.UpdateTarget() in WPF. –

risposta

7

Prova qualcosa del genere. Sostituisci ImageBlobMember con x: Name/Name del controllo XAML e sostituisci Image.SourceProperty con il valore appropriato in base al tipo di controllo.

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

Questo è il modo in cui l'ho fatto alla fine ma dovevo assicurarmi di controllare i valori nulli –

+0

Grazie! Stavo cercando un po ', e questa era l'unica opzione che era funzionalmente sufficiente per simulare il metodo 'BindingExpression.UpdateTarget()' mancante in Silverlight 5. – Jaans

Problemi correlati