WPFにおけるPrism集中講座番外編:Prismの複雑怪奇なCommand周りをCommunityToolkit.Mvvmで実装する
まずはプロジェクトの作成と整備ね さあ、CommunityToolkit.Mvvm 大好きな、もりゃきお姉ちゃんがやってきましたよ! ますは、サクサクプロジェクトを作りましょう。 Visual Studioで「WPFアプリケーション」を選んで、ソリューション名は「TabCommandSample」、フレームワークは「.NET 9」選択でいいでしょう! 次に、NuGet経由で「CommunityToolkit.Mvvm」と「Microsoft.Extensions.DependencyInjection」をいつもの通りにインストールしましょうね! あ、CommunityToolkit.Mvvm V8 を使うから、エラーが出たらとりあえずリビルドしてね、お姉さんとの約束よ! 次は DI の設定よ!こんなの App.xaml.cs に書くだけなんだから、たくさんアプリケーション作る人はコピペできるようにしとくのが賢い子☆ public partial class App : Application { /// <summary> /// サービスの登録をします /// </summary> public App() { Services = ConfigureServices(); Ioc.Default.ConfigureServices(Services); } /// <summary> /// 現在の App インスタンスを取得します /// </summary> public new static App Current => (App)Application.Current; /// <summary> /// サービスプロバイダです /// </summary> public IServiceProvider Services { get; } /// <summary> /// サービスを登録します /// </summary> /// <returns></returns> private static ServiceProvider ConfigureServices() { var services = new ServiceCollection(); services.AddSingleton<IMessenger, WeakReferenceMessenger>(); services.AddSingleton<IMainWindowViewModel, MainWindowViewModel>(); return services.BuildServiceProvider(); } } 次はエラーが出た MainWindowViewModel の設定だけど、まとめてやっちゃうわよ! プロジェクトにとりあえず Views と ViewModels フォルダを作って MainWindow.xaml を Views に移動、名前空間も手動作業含めて調整。 ...