かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

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