这个按钮。激活或者巴顿的动作因为某种原因没有被调用,我找不到。
在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
已处理。这就是原因吗?那我该怎么做才能防止呢?