2010-08-04 11 views
5

¿Alguien puede sugerir una forma de crear en Silverlight una solución para el método UpdateTarget() que existe en WPF? Eliminar el enlace existente que existe en el DP y establecer el valor manualmente no es una opción para mí. GraciasSolución de Silverlight UpdateTarget() para BindingExpression

+0

¿Cuál es su razón para necesitar UpdateTarget()? Dependiendo de la razón, podría haber diferentes soluciones. – Stephan

+0

Tengo un enlace en mi XAML y estamos portando una aplicación existente a Silverlight y usando el mismo código XML detrás de los archivos. En cuanto al código WPF existente, tengo la siguiente expresión: BindingExpression expression = someTextBox.GetBindingExpression (TextBox.TextProperty); expression.UpdateTarget(); Este es el código existente, y crearía un método de extensión para esto es que SL no use las directivas #if WPF ... La idea es tener un método que se comporte como BindingExpression.UpdateTarget() en WPF. –

Respuesta

7

Pruebe algo como esto. Reemplace ImageBlobMember con su x: Nombre/Nombre de control XAML y reemplace Image.SourceProperty con el valor apropiado según el tipo de control.

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

Así es como lo hice al final, pero tenía que asegurarme de que estaba buscando cero –

+0

¡Gracias! Estuve buscando por un tiempo, y esta fue la única opción funcionalmente suficiente para simular el método 'BindingExpression.UpdateTarget()' faltante en Silverlight 5. – Jaans

Cuestiones relacionadas