예제 #1
0
        /// <summary> Send the current value back to the source </summary>
        /// <remarks> Does nothing when binding's Mode is not TwoWay or OneWayToSource </remarks>
        public override void UpdateSource()
        {
            BindingExpressionBase bindExpr = ActiveBindingExpression;

            if (bindExpr != null)
            {
                bindExpr.UpdateSource();
            }
        }
        /// <summary>Updates the source on the active binding.</summary>
        // Token: 0x06001C6E RID: 7278 RVA: 0x00085B94 File Offset: 0x00083D94
        public override void UpdateSource()
        {
            BindingExpressionBase activeBindingExpression = this.ActiveBindingExpression;

            if (activeBindingExpression != null)
            {
                activeBindingExpression.UpdateSource();
            }
        }
        // Token: 0x06001C7D RID: 7293 RVA: 0x00085F84 File Offset: 0x00084184
        internal override bool UpdateSource(BindingGroup bindingGroup)
        {
            bool result = true;
            BindingExpressionBase activeBindingExpression = this.ActiveBindingExpression;

            if (activeBindingExpression != null)
            {
                result = activeBindingExpression.UpdateSource(bindingGroup);
                if (activeBindingExpression.StatusInternal == BindingStatusInternal.UpdateSourceError)
                {
                    base.SetStatus(BindingStatusInternal.UpdateSourceError);
                }
            }
            return(result);
        }
예제 #4
0
        /// <summary>
        /// Update the source value and inform the binding group
        /// <summary>
        internal override bool UpdateSource(BindingGroup bindingGroup)
        {
            bool result = true;
            BindingExpressionBase bindExpr = ActiveBindingExpression;

            if (bindExpr != null)
            {
                result = bindExpr.UpdateSource(bindingGroup);

                if (bindExpr.StatusInternal == BindingStatusInternal.UpdateSourceError)
                {
                    SetStatus(BindingStatusInternal.UpdateSourceError);
                }
            }
            return(result);
        }
        // Token: 0x06001C7C RID: 7292 RVA: 0x00085F4C File Offset: 0x0008414C
        internal override object UpdateSource(object convertedValue)
        {
            BindingExpressionBase activeBindingExpression = this.ActiveBindingExpression;
            object result;

            if (activeBindingExpression != null)
            {
                result = activeBindingExpression.UpdateSource(convertedValue);
                if (activeBindingExpression.StatusInternal == BindingStatusInternal.UpdateSourceError)
                {
                    base.SetStatus(BindingStatusInternal.UpdateSourceError);
                }
            }
            else
            {
                result = DependencyProperty.UnsetValue;
            }
            return(result);
        }
예제 #6
0
        /// <summary>
        /// Update the source value
        /// <summary>
        internal override object UpdateSource(object convertedValue)
        {
            object result;
            BindingExpressionBase bindExpr = ActiveBindingExpression;

            if (bindExpr != null)
            {
                result = bindExpr.UpdateSource(convertedValue);

                if (bindExpr.StatusInternal == BindingStatusInternal.UpdateSourceError)
                {
                    SetStatus(BindingStatusInternal.UpdateSourceError);
                }
            }
            else
            {
                result = DependencyProperty.UnsetValue;
            }

            return(result);
        }
예제 #7
0
        // Token: 0x06001C31 RID: 7217 RVA: 0x00084814 File Offset: 0x00082A14
        internal override object UpdateSource(object convertedValue)
        {
            if (convertedValue == DependencyProperty.UnsetValue)
            {
                base.SetStatus(BindingStatusInternal.UpdateSourceError);
                return(convertedValue);
            }
            object[] array = convertedValue as object[];
            int      num   = this.MutableBindingExpressions.Count;

            if (array.Length < num)
            {
                num = array.Length;
            }
            base.BeginSourceUpdate();
            bool flag = false;

            for (int i = 0; i < num; i++)
            {
                object obj = array[i];
                if (obj != Binding.DoNothing)
                {
                    BindingExpressionBase bindingExpressionBase = this.MutableBindingExpressions[i];
                    bindingExpressionBase.UpdateSource(obj);
                    if (bindingExpressionBase.StatusInternal == BindingStatusInternal.UpdateSourceError)
                    {
                        base.SetStatus(BindingStatusInternal.UpdateSourceError);
                    }
                    flag = true;
                }
            }
            if (!flag)
            {
                base.IsInUpdate = false;
            }
            base.EndSourceUpdate();
            this.OnSourceUpdated();
            return(convertedValue);
        }