Example #1
0
        protected CloseableViewModel()
        {
            _closed = new Subject <Unit>()
                      .DisposeWith(this);

            _denied = new Subject <Unit>()
                      .DisposeWith(this);

            _confirmed = new Subject <Unit>()
                         .DisposeWith(this);

            CancelCommand = ReactiveCommand.Create()
                            .DisposeWith(this);

            CancelCommand.ActivateGestures()
            .Subscribe(x => _closed.OnNext(Unit.Default))
            .DisposeWith(this);

            ConfirmCommand = ReactiveCommand.Create(InitialiseCanConfirm())
                             .DisposeWith(this);

            ConfirmCommand.ActivateGestures()
            .Subscribe(x =>
            {
                _confirmed.OnNext(Unit.Default);
                _closed.OnNext(Unit.Default);
            })
            .DisposeWith(this);

            DenyCommand = ReactiveCommand.Create(InitialiseCanDeny())
                          .DisposeWith(this);

            DenyCommand.ActivateGestures()
            .Subscribe(x =>
            {
                _denied.OnNext(Unit.Default);
                _closed.OnNext(Unit.Default);
            })
            .DisposeWith(this);
        }