Esempio n. 1
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();
        }
Esempio n. 2
0
        // Token: 0x06001C27 RID: 7207 RVA: 0x0008422C File Offset: 0x0008242C
        internal override bool AttachOverride(DependencyObject d, DependencyProperty dp)
        {
            if (!base.AttachOverride(d, dp))
            {
                return(false);
            }
            DependencyObject targetElement = base.TargetElement;

            if (targetElement == null)
            {
                return(false);
            }
            if (base.IsUpdateOnLostFocus)
            {
                LostFocusEventManager.AddHandler(targetElement, new EventHandler <RoutedEventArgs>(this.OnLostFocus));
            }
            base.TransferIsDeferred = true;
            int count = this.ParentMultiBinding.Bindings.Count;

            for (int i = 0; i < count; i++)
            {
                this.AttachBindingExpression(i, false);
            }
            this.AttachToContext(false);
            if (base.TransferIsDeferred)
            {
                base.Engine.AddTask(this, TaskOps.AttachToContext);
                if (TraceData.IsExtendedTraceEnabled(this, TraceDataLevel.Attach))
                {
                    TraceData.Trace(TraceEventType.Warning, TraceData.DeferAttachToContext(new object[]
                    {
                        TraceData.Identify(this)
                    }));
                }
            }
            return(true);
        }