Forcing the binding expression updating

31 12 2010

If you need to force the binding expression updating, defined on a Silverlight control, you can use the following code.

public static void UpdateBindingExpressions(Control control)
{
  if (control != null)
  {
    Type controlType = control.GetType();
    FieldInfo[] fieldsInfo = controlType.GetFields(BindingFlags.Public | BindingFlags.Static);
    if (fieldsInfo != null)
    {
      foreach (FieldInfo fieldInfo in fieldsInfo)
      {
        DependencyProperty depProp = fieldInfo.GetValue(null) as DependencyProperty;
        if (depProp != null)
        {
          BindingExpression bindingExpression = control.GetBindingExpression(depProp);
          if (bindingExpression != null)
          {
            bindingExpression.UpdateSource();
          }
        }
      }
    }
  }
}
Advertisements

Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s




%d bloggers like this: