コマンドを実行しようとしているため、私のビューのコンストラクタ内から非同期に実行されている関数があります。私はコンストラクタで非同期的に何かを実行することは必ずしも良い習慣ではないことを理解していますが、ビューが開くときにデータグリッドをロードする必要があります.3-5秒の時間がかかるので、IsLoading
プロパティデータを取得する私のコマンドは、別のスレッドで実行されます。ここでReactiveUIでコマンドを手動で実行する場合7.2
は、上記を行うには、私のコマンド/プロパティの宣言です:
public ReactiveCommand EnterCmd { get; private set; }
ObservableAsPropertyHelper<bool> _isLoading;
public bool IsLoading => _isLoading.Value;
そして、ここでは、コンストラクタの私のインスタンスです:
EnterCmd = ReactiveCommand.CreateFromTask(LoadGridData);
EnterCmd.IsExecuting.ToProperty(this, x => x.IsLoading, out _isLoading);
私が行って、私のstartコマンドを実行したいのですがEnterCmd.Execute()
のようなものです。 私は同様の質問hereを見つけましたが、Execute()
はもうReactiveCommand
で有効な方法ではないようです。任意のアイデアをいただければ幸いです。 Exexute()
方法は、それが今、観察を返すので、あなたはそれを動作させるためにそれに加入する必要がバージョン7で変更されました
好奇心をそそらずに、「ユニット」とは何ですか?私はそれについての確かな文書を見つけることができないようです。 – jewnbug97