/// <summary>
 /// Called when bindable object is detached to this condition.
 /// </summary>
 protected override void OnDetach()
 {
     this.Bindable.PropertyChanged -= this.OnBindablePropertyChanged;
     this.conditionSource           = null;
 }
 /// <summary>
 /// Called when a bindable object is attached to this condition.
 /// </summary>
 protected override void OnAttachTo()
 {
     this.conditionSource           = this.GetTypedConditionSource <PropertyCondition>();
     this.Bindable.PropertyChanged += this.OnBindablePropertyChanged;
     this.CheckIsValid();
 }