プログラマの世界は秒針分歩くらいの勢いで変わるのでね・・・
Windows 10 Microsoft.UWPパッケージがバージョン7.0.0になってから、UIの非同期更新を行う際に使っていたMicrosoft.Toolkit.Uwp.Helpers.DispatcherHelper.ExecuteOnUIThreadAsyncが非推奨になったみたい。今のところ警告がうざったいだけで(Visual Studioでも緑破線が付いてうざったい・・・)使用することはできますが、うざくなってきたら以下のようにDispatcherQueueを使う、ということに変更になりそうです。基本的にはDispatcherQueueってキューにアクション(関数)を放り込んでおくとメインの処理系とは別の優先度で動作しているスレッドにて順番に実行してくれる、というものですね。まぁUIThreadに限らずに放り込めるというので、従前使っていた Microsoft.Toolkit.Uwp.Helpers.DispatcherHelper.ExecuteOnUIThreadAsyncよりは汎用性が高いというメリットがあるんでしょうね。
private void do_button() {
DispatcherQueue queue = App.dispatcher; // UI実行しているスレッドから取得しておく。Appが簡単だったのでAppで取得しておいた
Task task =
queue.EnqueueAsync(async() =>
{
// UI関係の処理.中でawaitしちゃうような処理があれば、EnqueueAsyncのラムダ式にはasyncを付けておく
});
});
}
まぁちょっと面倒くさくなるけれど、DispatcherQueueさえUIスレッド上で取得しておけばいいわけですので、合わせてみましょうかね。6.xベースだと文句は言われないので、しばらくはバージョンアップしない、というてもありそうですけれど・・・。