Ejemplo n.º 1
0
        // Token: 0x06001C2B RID: 7211 RVA: 0x000843F0 File Offset: 0x000825F0
        internal override void ReplaceChild(BindingExpressionBase bindingExpression)
        {
            int num = this.MutableBindingExpressions.IndexOf(bindingExpression);
            DependencyObject targetElement = base.TargetElement;

            if (num >= 0 && targetElement != null)
            {
                bindingExpression.Detach();
                this.AttachBindingExpression(num, true);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Replace the given child expression with a new one.
        /// </summary>
        internal override void ReplaceChild(BindingExpressionBase bindingExpression)
        {
            int index = MutableBindingExpressions.IndexOf(bindingExpression);
            DependencyObject target = TargetElement;

            if (index >= 0 && target != null)
            {
                // clean up the old BindingExpression
                bindingExpression.Detach();

                // create a replacement BindingExpression and put it in the collection
                bindingExpression = AttachBindingExpression(index, true);
            }
        }
        // Token: 0x06001C73 RID: 7283 RVA: 0x00085CD4 File Offset: 0x00083ED4
        internal override void DetachOverride()
        {
            int count = this.MutableBindingExpressions.Count;

            for (int i = 0; i < count; i++)
            {
                BindingExpressionBase bindingExpressionBase = this.MutableBindingExpressions[i];
                if (bindingExpressionBase != null)
                {
                    bindingExpressionBase.Detach();
                }
            }
            base.ChangeSources(null);
            base.DetachOverride();
        }
Ejemplo n.º 4
0
        /// <summary> sever all connections </summary>
        internal override void DetachOverride()
        {
            // Theoretically, we only need to detach number of AttentiveBindings,
            // but we'll traverse the whole list anyway and do aggressive clean-up.
            int count = MutableBindingExpressions.Count;

            for (int i = 0; i < count; ++i)
            {
                BindingExpressionBase b = MutableBindingExpressions[i];
                if (b != null)
                {
                    b.Detach();
                }
            }

            ChangeSources(null);

            base.DetachOverride();
        }
Ejemplo n.º 5
0
        // Token: 0x06001C28 RID: 7208 RVA: 0x000842DC File Offset: 0x000824DC
        internal override void DetachOverride()
        {
            DependencyObject targetElement = base.TargetElement;

            if (targetElement != null && base.IsUpdateOnLostFocus)
            {
                LostFocusEventManager.RemoveHandler(targetElement, new EventHandler <RoutedEventArgs>(this.OnLostFocus));
            }
            int count = this.MutableBindingExpressions.Count;

            for (int i = count - 1; i >= 0; i--)
            {
                BindingExpressionBase bindingExpressionBase = this.MutableBindingExpressions[i];
                if (bindingExpressionBase != null)
                {
                    bindingExpressionBase.Detach();
                    this.MutableBindingExpressions.RemoveAt(i);
                }
            }
            base.ChangeSources(null);
            base.DetachOverride();
        }
Ejemplo n.º 6
0
    /// <summary>
    /// Replace the given child expression with a new one.
    /// </summary>
    internal override void ReplaceChild(BindingExpressionBase bindingExpression)
    {
        int index = MutableBindingExpressions.IndexOf(bindingExpression);
        DependencyObject target = TargetElement;

        if (index >= 0 && target != null)
        {
            // clean up the old BindingExpression
            bindingExpression.Detach();

            // create a replacement BindingExpression and put it in the collection
            bindingExpression = AttachBindingExpression(index, true);
        }
    }
Ejemplo n.º 7
0
    /// <summary>
    /// Replace the given child expression with a new one.
    /// </summary>
    internal override void ReplaceChild(BindingExpressionBase bindingExpression)
    {
        int index = MutableBindingExpressions.IndexOf(bindingExpression);
        DependencyObject target = TargetElement;

        if (index >= 0 && target != null)
        {
            // detach and clean up the old binding
            bindingExpression.Detach();

            // replace BindingExpression
            AttachBindingExpression(index, true);
        }
    }