結論
結論から言うと、次の2つの改善を現行のWPFプロジェクトでやっておけば、いざWinUI 3やMAUIへ移行しようとした場合も楽にできそうだ。
- MVVMの構造にして、画面とロジックを分離しておく。
- GenericHostを使い、アプリの初期化やインスタンス生成と、ロジックを分離しておく。
1についてはCommunityToolkit.Mvvmを使っておくと楽で、1と2のやり方が分からなければTemplate Studioで生成したコードを参考にすれば良い。
詳細
結論までの経緯や詳しいやり方は、3つの資料があるので、この後にリンクを貼る。(記事中の単語やリンクについても資料内にある)
今すぐWinUI3やMAUIに移行するのは難しい場合が多いと思うが、結論に書いた取り組みをしておけば、いざ移行する時も楽になるし、もしWPFプロジェクトのまま行く場合も保守性が上がる。 筆者も現行のWPFプロジェクトでさっそく採用し始めているので、効果が出ると期待したい。
ちなみに
次のグループの勉強会でこういった話をしている。興味があればぜひ。