从RelayCommand移动到ReactiveCommand

时间:2014-12-20 16:51:47

标签: reactiveui relaycommand

我正在学习ReactiveUI,我开始使用命令

我无法将此RelayCommand的代码转换为等效的ReactiveCommand

GodkendeBilagCommand = new RelayCommand<AdminUdbetalingsKvartal>(OnGodkendeBilag, GodkendeBilagCanExeute);

这是GodkendeBilagCanExeute的代码:

private bool GodkendeBilagCanExeute(AdminUdbetalingsKvartal kvartal)
{
    return kvartal != null && kvartal.KanGodkendeBilag && !IsBusy;
}

1 个答案:

答案 0 :(得分:0)

这个怎么样:

var canExecute = this.WhenAny(x => x.kvartal.KanGodkendeBilag, x => x.IsBusy,
    (bilag, busy) => bilag.Value && !busy.Value);

GodkendeBilagCommand = ReactiveCommand.Create(canExecute);