【问题标题】:Silverlight UpdateTarget() workaround for BindingExpressionBindingExpression 的 Silverlight UpdateTarget() 解决方法
【发布时间】:2011-03-25 07:52:42
【问题描述】:

谁能建议一种在 Silverlight 中为 WPF 中存在的 UpdateTarget() 方法创建解决方法的方法?删除 DP 上存在的现有绑定并手动设置值对我来说不是一个选项。谢谢

【问题讨论】:

  • 您需要 UpdateTarget() 的原因是什么?根据原因,可能会有不同的解决方法。
  • 我的 XAML 中有一个绑定,我们正在将现有应用程序移植到 Silverlight 并使用相同的 XML/代码隐藏文件。就现有的 WPF 代码而言,我有以下表达式: BindingExpression expression = someTextBox.GetBindingExpression(TextBox.TextProperty);表达式.UpdateTarget();这是现有的代码,我会为此创建一个扩展方法,因为 SL 不使用 #if WPF 指令......这个想法是在 WPF 中有一个行为类似于 BindingExpression.UpdateTarget() 的方法。

标签: silverlight binding


【解决方案1】:

试试这样的。将 ImageBlobMember 替换为 XAML 控件的 x:Name/Name,并将 Image.SourceProperty 替换为适当的值,具体取决于控件的类型。

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

【讨论】:

  • 这就是我最后的做法,但我必须确保我正在检查空值
  • 谢谢!我搜索了一段时间,这是在功能上足以模拟 Silverlight 5 中缺少的 BindingExpression.UpdateTarget() 方法的唯一选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
相关资源
最近更新 更多