Web サービスへの呼び出しが多いメトロ アプリケーションを作成しています。Web サービスが少し遅い場合があります。また、データがダウンロードされるまでページ内で待機したくありません。
ただし、データが読み込まれるまで戻るボタンは無効になっています。これは大きな問題です。
だから私は試してみました:
try
{
await Task.Run(() =>
{
Dispatcher.RunAsync(CoreDispatcherPriority.High,
() => ViewModel.InitAsync(date)).AsTask(_cts.Token);
}, _cts.Token);
}catch(Exception e)
{
Debug.WriteLine("HomePage, LoadState : "+e);
}
ノート;
Task.Run を使用して、キャンセルトークンを使用できるようにします。Dispatcher.RunAsync を使用すると、UI がフリーズしないようにする必要があります。これは、ページの LoadState 内で使用されます。
この問題を解決するにはどうすればよいですか?
よろしく。
で更新されました(私の問題は解決しません):
try
{
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
ViewModel.InitAsync(date)).AsTask(_cts.Token);
}catch(Exception e)
{
Debug.WriteLine("HomePage, LoadState : "+e);
}