0

我怎样才能合并可观察的。

IObservable<bool> addCommandIsExecutingObservable = this.WhenAnyObservable(x => x.AddCommand.IsExecuting).StartWith(false).Select(x => x);
IObservable<bool> cleanCommandIsExecutingObservable = this.WhenAnyObservable(x => x.CleanCommand.IsExecuting).StartWith(false).Select(x => x);
IObservable<bool> tagIsSuitableObservable = this.WhenAnyValue(x => x.Tag).StartWith(string.Empty).Select(x => !string.IsNullOrWhiteSpace(x) && x.Length >= 3);
IObservable<bool> warehouseBarcodeIsSuitableObservable = this.WhenAnyValue(x => x.WarehouseBarcode).StartWith(0).Select(x => x > 0);
IObservable<bool> stockAmountIsSuitableObservable = this.WhenAnyValue(x => x.StockAmount).StartWith(0).Select(x => x > 0);
IObservable<bool> subcategoryIdIsSuiableObservable = this.WhenAnyValue(x => x.SubcategorySearchingFormViewModel.Id).StartWith(0).Select(x => x > 0);

我正在尝试使用该代码

IObservable<bool> addCommandCanExecute = Observable.Merge(addCommandIsExecutingObservable.Select(x => !x), cleanCommandIsExecutingObservable.Select(x => !x), tagIsSuitableObservable, warehouseBarcodeIsSuitableObservable, stockAmountIsSuitableObservable, subcategoryIdIsSuiableObservable);

我想如果所有可观察对象都为真,则返回真,如果一个可观察对象为假,则返回假。

4

0 回答 0