代码之家  ›  专栏  ›  技术社区  ›  Anoop Vaidya

点击按钮,即一旦调用订单,激活不调用

  •  0
  • Anoop Vaidya  · 技术社区  · 4 年前

    这个按钮。激活或者巴顿的动作因为某种原因没有被调用,我找不到。

    在ViewController的构造函数中:

    _whenActivated = this.WhenActivated(x => SetupBindings(x));
    

    然后有一个方法:

    private void SetupBindings(CompositeDisposable disposables)
    {
            this.BindCommand(ViewModel,
                vm => vm.ContinueCommand,
                v => v._loginButton)
            .DisposeWith(disposables);
    
            Observable.FromEventPattern(
               h => _cancelButton.Activated += h,
               h => _cancelButton.Activated -= h)
           .Subscribe(x => Cancel(disposables))
           .DisposeWith(disposables);
    
          Deactivated.Take(1).Subscribe(_ => _whenActivated?.Dispose());
    }
    
    private void Cancel(CompositeDisposable disposables)
    {
            ViewModel.CancelCommand.Execute().Subscribe().DisposeWith(disposables);
            View.Window.OrderOut(null);
    
            Console.WriteLine("Cancel clicked");
    }
    

    View.Window.IsVisible = false . 但当我用 OrderFront ,则不会再次调用取消操作。

    不过,还有另一个按钮(复选框)可以获取操作,并更改其状态。

    .Activated 已处理。这就是原因吗?那我该怎么做才能防止呢?

    0 回复  |  直到 4 年前