ReactiveProperty Samples for WPF
.NET 6.0 + C# 9
Created in 2020/06
Updated in 2021/05
投げっぱなしなので注意。
_observable
.ObserveOn(Scheduler.Default)
.Select(x => Observable.FromAsync(x.CalcAsync)) // await不要
.Concat()
.ObserveOnUIDispatcher()
.ToReadOnlyReactivePropertySlim();
以下の方が良さげ?(Switchは新しい処理が入ったら以前の非同期処理はキャンセルして新しい処理のみを後続に流す)
_observable
.ObserveOn(Scheduler.Default)
.Select(x => x.CalcAsync) // await不要
.Switch()
.ObserveOnUIDispatcher()
.ToReadOnlyReactivePropertySlim();
collection.ObserveAddChanged().ToUnit()
.Merge(collection.ObserveRemoveChanged().ToUnit())
.Merge(collection.ObserveResetChanged().ToUnit())
.Subscribe(_ => Debug.WriteLine(collection.Count))
.AddTo(_disposables);
2022.2.27 気づいた。
かずきのBlog@hatena/ReactiveProperty
MVVMをリアクティブプログラミングで快適にReactivePropertyオーバービュー
ReactiveProperty documentation
ReactiveProperty : WPF/SL/WP7のためのRxとMVVMを繋ぐ拡張ライブラリ
WPFでReactiveProperty入門 ~アプリケーションのステータスやエラー情報をIObservable で通知する
以上