internal void NewValueAvailable(bool dependencySourcesChanged, bool initialValue, bool isASubPropertyChange) { SetStatus(PW.Status); BindingExpression parent = ParentBindingExpression; // this method is called when the last item in the path is replaced. // BindingGroup also wants to know about this. BindingGroup bindingGroup = parent.BindingGroup; if (bindingGroup != null) { bindingGroup.UpdateTable(parent); } if (dependencySourcesChanged) { ReplaceDependencySources(); } // if there's a revised value (i.e. not during initialization // and shutdown), transfer it. if (!initialValue && Status != BindingStatusInternal.AsyncRequestPending) { parent.ScheduleTransfer(isASubPropertyChange); } }
internal void NewValueAvailable(bool dependencySourcesChanged, bool initialValue, bool isASubPropertyChange) { SetStatus(PW.Status); BindingExpression parent = ParentBindingExpression; // this method is called when the last item in the path is replaced. // BindingGroup also wants to know about this. BindingGroup bindingGroup = parent.BindingGroup; if (bindingGroup != null) { bindingGroup.UpdateTable(parent); } if (dependencySourcesChanged) { ReplaceDependencySources(); } if (Status != BindingStatusInternal.AsyncRequestPending) { // if there's a revised value (i.e. not during initialization // and shutdown), transfer it. if (!initialValue) { parent.ScheduleTransfer(isASubPropertyChange); } else { // "initialValue" should really be called "suppressTransfer". // It's true when we don't want to transfer the new value: // a) initial activation // b) shutdown // c) DataContext={DisconnectedItem} // Even in these cases, at least clear the pending flag, // so that future source changes aren't ignored SetTransferIsPending(false); } } }
// Token: 0x0600747C RID: 29820 RVA: 0x002154F8 File Offset: 0x002136F8 internal void NewValueAvailable(bool dependencySourcesChanged, bool initialValue, bool isASubPropertyChange) { this.SetStatus(this.PW.Status); BindingExpression parentBindingExpression = base.ParentBindingExpression; BindingGroup bindingGroup = parentBindingExpression.BindingGroup; if (bindingGroup != null) { bindingGroup.UpdateTable(parentBindingExpression); } if (dependencySourcesChanged) { this.ReplaceDependencySources(); } if (base.Status != BindingStatusInternal.AsyncRequestPending) { if (!initialValue) { parentBindingExpression.ScheduleTransfer(isASubPropertyChange); return; } base.SetTransferIsPending(false); } }