かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

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);
}