MAUI BlazorのMainPageでDIされたサービスを使う方法

MAUI BlazorのMainPageでDIされたサービスを使う方法。


  1. MauiProgram.csMainPageで使いたいサービスを登録する。

    builder.Services.AddSingleton<IMyService, MyService>();
  2. MauiProgram.csMainPageをサービスとして登録する。

    builder.Services.AddTransient<MainPage>();
  3. App.xaml.csMainPageのインスタンス生成処理をサービス取得処理に置き換える。

    public partial class App : Application
    {
    public App(IServiceProvider serviceProvider)
    {
        InitializeComponent();
        //MainPage = new MainPage();
        MainPage = serviceProvider.GetRequiredService<MainPage>();
    }
    }
  4. MainPage.xaml.csMainPageのコンストラクタで注入されたサービスを取得する。

    public partial class MainPage : ContentPage
    {
    //public MainPage()
    public MainPage(IMyService myService)
    {
        InitializeComponent();
    }
    }


以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする