/// <summary> /// The binding class that allows chaining extra options. /// </summary> /// <param name="listener">Should set the value of the target.</param> /// <param name="immediate">Should the listener be invoked immediately (defaults to true).</param> /// <returns>The binding class that allows chaining extra options.</returns> public ModelPropertyBinding Subscribe(Action <T> listener, bool immediate = true) { var binding = new ModelPropertyBinding() { SetTargetValueDelegate = (o) => listener((T)o), ModelPropertySelector = () => this, IsImmediate = immediate, TwoWay = false }; Owner.AddBinding(binding); return(binding); }
public IDisposable Subscribe(IObserver <object> observer) { PropertyChangedEventHandler evt = delegate { observer.OnNext(ObjectValue); }; PropertyChanged += evt; var disposer = new SimpleDisposable(() => PropertyChanged -= evt); if (Owner != null) { Owner.AddBinding(disposer); } return(disposer); }
public IDisposable Subscribe(IObserver <object> observer) { PropertyChangedSimpleEventHandler evt = (sender, name) => observer.OnNext(ObjectValue); PropertyChanged += evt; var disposer = Disposable.Create(() => PropertyChanged -= evt); if (Owner != null) { Owner.AddBinding(disposer); } return(disposer); }