MonoMobile.Views.BindingOperations.UpdateBindings C# (CSharp) Method

UpdateBindings() private static method

private static UpdateBindings ( ) : void
return void
        private static void UpdateBindings()
        {
            if (!_UpdatingBindings)
            {
                try
                {
                    _UpdatingBindings = true;

                    var bindingsToRemove = new List<PropertyBinder>();

                    if (_Bindings.Count > 0)
                    {
                        var keys = _Bindings.Keys.ToArray();
                        for (var i = 0; i < keys.Length; i++)
                        {
                            var binding = _Bindings[keys[i]];
                            var bindingExpression = SetBinding(keys[i].Object, keys[i].Property, binding);
                            if(bindingExpression != null)
                                bindingsToRemove.Add(keys[i]);
                        }

                        if (bindingsToRemove.Count > 0)
                        {
                            foreach(var bindingKey in bindingsToRemove)
                            {
                                _Bindings.Remove(bindingKey);
                            }
                        }

                        bindingsToRemove.Clear();
                    }
                }
                finally
                {
                    _UpdatingBindings = false;
                }
            }
        }