この質問が少し一般的に聞こえる場合はお詫び申し上げます。この問題を解決する方法についての一般的なアドバイスを探しています:)
現在、カスタム FileService でファイルのリストを取得する次の非同期メソッドがあります。これは、ViewModel のコンストラクターで発生しています。
private async void Construct()
{
Files = new ObservableCollection<FileViewModel>();
IList _files = await _fileRepository.GetFiles();
foreach (File file in _files)
{
Files.Add(new FileViewModel(file));
}
}
おそらく解決できるように、非同期メソッドはファイルのリストを 1 つのステップで取得し、それらをリスト (UI のバインディング ソース) に追加して別のステップに追加します。
ユーザーには、非同期プロセスが完了するまで何も表示されず、しばらくするとすべての結果が一度に表示されます。
私の頭の中で、これは非同期のポイントを無効にします。なぜなら、私が本当に欲しいのは、結果が取得されるときに追加される結果だからです。
別のステップを追加するために、各ファイルの最初の文字を取得してカテゴリにグループ化する linq クエリもあります。これは foreach ループの後に実行されます。このステップも追加するにはどうすればよいですか?
あなたが与えることができる任意のアドバイスをありがとうございました!