BindingExpression的Silverlight UpdateTarget()变通方法

BindingExpression的Silverlight UpdateTarget()变通方法,silverlight,binding,Silverlight,Binding,有人能建议一种方法,在Silverlight中为WPF中存在的UpdateTarget()方法创建一个变通方法吗?删除DP上存在的现有绑定并手动设置值不是我的选项。谢谢试试这样的东西。使用XAML控件的x:Name/Name替换ImageBlobMember,并根据控件类型使用适当的值替换Image.SourceProperty BindingExpression bindExp = ImageBlobMember.GetBindingExpression(System.Windows.Con

有人能建议一种方法,在Silverlight中为WPF中存在的UpdateTarget()方法创建一个变通方法吗?删除DP上存在的现有绑定并手动设置值不是我的选项。谢谢

试试这样的东西。使用XAML控件的x:Name/Name替换ImageBlobMember,并根据控件类型使用适当的值替换Image.SourceProperty

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

您需要UpdateTarget()的原因是什么?根据不同的原因,可能会有不同的解决方法。我的XAML中有一个绑定,我们正在将现有应用程序移植到Silverlight,并使用相同的XML/代码隐藏文件。就现有WPF代码而言,我有以下表达式:BindingExpression=someTextBox.GetBindingExpression(TextBox.TextProperty);表达式。UpdateTarget();这是现有的代码,我会为它创建一个扩展方法,如果WPF指令。。。其想法是在WPF中有一个行为类似BindingExpression.UpdateTarget()的方法。这就是我最后的做法,但我必须确保我在检查NullsHanks!我搜索了一会儿,这是功能上足以模拟Silverlight 5中缺少的
BindingExpression.UpdateTarget()
方法的唯一选项。