单击按钮,即一旦调用OrderOut则不会激活

问题描述

由于某种原因,我无法找到Button.Activated或Button的Action。

代码如下。

在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");
}

当我单击_cancelButton时,第一次调用Cancel(...)并被取消顺序/或设置View.Window.IsVisible = false。但是,当我使用OrderFront将其恢复时,取消操作将不再被调用

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

我怀疑出于某种原因.Activated被处置了。这可能是原因吗?那我该怎么预防呢?

或者,我在这里想念什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)