private void SourcePropertyChanged(object sender, PropertyChangedEventArgs e) { if (this.weakListener != null) { IPropertyChangedListener target = this.weakListener.Target as IPropertyChangedListener; if (target != null) { target.OnPropertyChanged(sender, e); } else { this.Detach(); } } }