/* * //internal string TraceContext * //{ * // get * // { * // if (this.traceContext == null) * // { * // if (this.expression == null) * // { * // this.traceContext = ""; * // } * // else * // { * // this.traceContext = this.expression.GetExpressionTraceString(); * // } * // } * // return this.traceContext; * // } * //} */ internal void Disconnect() { for (PropertyPathStep i = this.first; i != null; i = i.NextStep) { i.Disconnect(); } }
internal void ReConnect(object source) { for (PropertyPathStep i = this.first; i != null; i = i.NextStep) { i.ReConnect(source); source = i.Value; } }
internal void RaisePropertyPathStepChanged(PropertyPathStep source) { PropertyPathStep nextStep = source.NextStep; object value = source.Value; while (nextStep != null) { nextStep.ReConnect(value); value = nextStep.Value; nextStep = nextStep.NextStep; } if (this.PropertyPathChanged != null) { this.PropertyPathChanged(this, new PropertyPathChangedEventArgs(source)); } }
private void ConnectToSource(PropertyPath path, object source, bool listenToChanges) { this.source = source; PropertyPathStep propertyPathStep = null; object value = source; int i = 1; PropertyPathStep propertyPathStep2 = path.Descriptors[0].CreateStep(this, value, listenToChanges); this.first = propertyPathStep2; propertyPathStep = propertyPathStep2; value = propertyPathStep.Value; for (i = 1; i < path.Descriptors.Count; i++) { propertyPathStep = path.Descriptors[i].CreateStep(this, value, listenToChanges); propertyPathStep2.NextStep = propertyPathStep; propertyPathStep2 = propertyPathStep; value = propertyPathStep.Value; } this.last = propertyPathStep; }
internal PropertyPathChangedEventArgs(PropertyPathStep source) { this.ChangedPart = source; }