internal void OnGot(object sender, DependencyPropertyGotEventArgs e) { if (this.Got != null) { this.Got(sender, e); } }
internal object GetValue(DependencyProperty dp, bool ignoreExpression) { var ctx = GetContext(dp.Id); var value = LoadPropertyValue(dp, ignoreExpression); if (!ctx.InCallBack) { //先进行对象内部回调方法 if (dp.GotValueCallback != null) { ctx.InCallBack = true; dp.GotValueCallback(this, ref value); ctx.InCallBack = false; } if (dp.IsRegisteredGot || this.PropertyGot != null) { var e = new DependencyPropertyGotEventArgs(dp, value); //再执行属性公共挂载的事件 if (dp.IsRegisteredGot) { ctx.InCallBack = true; dp.OnGot(this, e); ctx.InCallBack = false; value = e.Value; } //最后执行对象级别挂载的事件 if (this.PropertyGot != null) { ctx.InCallBack = true; this.PropertyGot(this, e); ctx.InCallBack = false; value = e.Value; } } } return(value); }
internal void OnGot(object sender, DependencyPropertyGotEventArgs e) { this.DefaultMetadata.OnGot(sender, e); }