かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

PrismAdapter 0.1.10-beta2をリリースしました

NuGetから-Preつけてインストールできます。

今回は、起動時に書く処理をすっきりさせました。PrismAdapterBootstrapperのインスタンスはUIスレッド内で1つじゃないといけないのですが、そこらへんを面倒を見るようにしました。OnLaunchedの中は以下のような感じに書けます。

protected override async void OnLaunched(LaunchActivatedEventArgs e)
{
    await PrismAdapterBootstrapper.Initialize(b =>
    {
        var c = new UnityContainer();
        b.Resolve = t => c.Resolve(t);
        b.RegistPrismInstanceTo(c);
        b.Run(n => n.Navigate("Main", e.Arguments));
        return Task.FromResult<object>(null);
    }, e);
}

割とすっきりじゃないでしょうか。Unity使わないならこんだけです。

protected override async void OnLaunched(LaunchActivatedEventArgs e)
{
    await PrismAdapterBootstrapper.Initialize(b =>
    {
        b.Run(n => n.Navigate("Main", e.Arguments));
        return Task.FromResult<object>(null);
    }, e);
}