MAUI BlazorのMainPageでDIされたサービスを使う方法。
-
MauiProgram.cs
にMainPage
で使いたいサービスを登録する。builder.Services.AddSingleton<IMyService, MyService>();
-
MauiProgram.cs
でMainPage
をサービスとして登録する。builder.Services.AddTransient<MainPage>();
-
App.xaml.cs
のMainPage
のインスタンス生成処理をサービス取得処理に置き換える。public partial class App : Application { public App(IServiceProvider serviceProvider) { InitializeComponent(); //MainPage = new MainPage(); MainPage = serviceProvider.GetRequiredService<MainPage>(); } }
-
MainPage.xaml.cs
のMainPage
のコンストラクタで注入されたサービスを取得する。public partial class MainPage : ContentPage { //public MainPage() public MainPage(IMyService myService) { InitializeComponent(); } }
以上です。