我的ViewModel中有几个命令,我希望将每个按钮的CanExecute绑定到一个可观察的busy,这个busy被定义为当前没有任何按钮正在执行。
以下是我提出的内容,但显然它遇到了NullReferenceException。
busy = Observable.CombineLatest(this.PlayCommand.IsExecuting, this.PauseCommand.IsExecuting, (play, pause) => play && pause);
this.PauseCommand = new ReactiveCommand(busy.Select(b => !b));
this.PlayCommand = new ReactiveCommand(busy.Select(b=> !b));
ReactiveCommand上的CanExecuteObservable属性也是只读的,所以在初始化命令之前我需要定义一个IObservable。
关于如何解决鸡肉和鸡蛋问题的任何想法?观察ViewModel(或ViewModel集合)的繁忙状态的更好方法也将受到赞赏: - )