0
此問題與我前段時間發佈的問題(here)有關。ReactiveAsyncCommand與CanExecute = null結果CanExecute始終爲false
我以下列方式使用ReactiveAsyncCommand
:
LoadTickets = new ReactiveAsyncCommand(null, 0, RxApp.DeferredScheduler);
LoadTickets.RegisterAsyncFunction(x => loadTickets())
.ToProperty(this, x => x.Tickets);
Observable.Interval(TimeSpan.FromSeconds(10), RxApp.DeferredScheduler)
.InvokeCommand(LoadTickets);
LoadTickets.Execute(null); //initial load
所以:10秒,我想打電話給一個命令,將管道函數的結果列表。
但是,在最初的Execute
之後,每個後續時間,該命令上的CanExecute
都是false。我檢查了使用:
Observable.Interval(TimeSpan.FromSeconds(10), RxApp.DeferredScheduler)
.Subscribe(_ =>
Debug.WriteLine("Can execute in timer " + LoadTickets.CanExecute(null))
);
這是發生這種情況的原因嗎?
這是正確的答案:) –