Closed kenichi-kobayashi closed 2 years ago
仕様になります。 ObserbeOn で UI スレッドに手動で切り替えてください。
UI スレッドへのイベントの自動ディスパッチ機能は ReactiveProperty/ReadOnlyReactiveProperty/ReactiveCommand のみになります。 自動ディスパッチは便利なのですが、わかりにくい挙動も引き起こすため AsyncReactiveCommand や ReactivePropertySlim/ReadOnlyReactivePropertySlim にはありません。
いつも、即レスに感謝です。
そういう仕様ということで、理解しました!
いつもお世話になってます。
以下の現象がありましたので、報告させてください。
■現象 AsyncReactiveCommand の CanExecuteを別スレッドから変更すると、「'このオブジェクトは別のスレッドに所有されているため、呼び出しスレッドはこのオブジェクトにアクセスできません。」の例外が発生しました。
■詳細
・Textプロパティを用意する。 ・TextプロパティがNullOrEmptyでなければ、実行可能なコマンドを用意する。 ・ReactiveCommandと、AsyncReactiveCommandの2つのコマンドを用意する。 ・画面では、Buttonに2つのコマンドをBindする。 ・TextプロパティをUIスレッド以外から変更する。 ・AsyncReactiveCommandだけが例外となる。
ReactivePropertyUIThread.zip
これは、仕様でしょうか?
よろしくお願いいたします。