Ejemplo n.º 1
0
    /// <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);
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
        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);
        }