大きなファイルをロードしてデータグリッドにデータを表示する必要がありますが、ファイルを非同期的にロードできない方法があります。
ボタンコード:
private async void MILoadLogFile_Click(object sender, RoutedEventArgs e) {
...
await myLogSession.LoadfromFileAsync(oFD.FileName);
}
}
および Load メソッド
public async Task LoadfromFileAsync(String fileName) {
StreamReader streamReader = new StreamReader(fileName);
String line;
try {
using (streamReader) {
while ((line = await streamReader.ReadLineAsync()) != null) {
...
}
...
}
Console.Out.WriteLine("DOOOOOOOOOOOOONE");
}
} catch (Exception e) {
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
}
}
これは機能しますが、まったくスムーズではありません。ウィンドウを移動できません