読者です 読者をやめる 読者になる 読者になる

かずきのBlog@hatena

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

Prism 6.0がリリースされました

MSのP&PのチームからMS MVPが主体となったチームに移管されてから初のWPF版PrismであるPrism 6.0がリリースされました。今までNuGetでPrismをインストールすればよかったのが、Prism.Coreをインストールするようになっている点に注意です。

www.nuget.org

リリースノートは以下にまとまっています。

github.com

気になったところ

個人的にインパクトが大きいなと思ったところをピックアップ。

名前空間の変更

Microsoft.Practicesみたいな名前空間がついてたのが、ごっそり消えました。Prismというシンプルな名前空間になってます。

InteractionRequestに非同期版が追加

VとVMで対話するためのInteractionRequestにRaiseAsyncというメソッドが追加されています。これでコールバック地獄から解放されます。

xmlnsが変わった

http://www.codeplex.com/prismからhttp://prismlibrary.com/になったみたいです。

IViewインターフェースの削除

ViewModelLocator使うためにViewにIViewを実装しないといけなかった縛りが消えました。すっきり。

DelegateCommandの強化

DelegateCommandってRaiseCanExecuteChangedを自力で呼ばないといけなかったというめんどくさい感じだったのですが、これがObservePropertyメソッドでプロパティに変更があったときに自動でやってくれるようになりました。ただし、ObservePropertyイベント購読を内部でやってるのですが、解除する方法がなさそうなので、ライフサイクルの異なるオブジェクトのプロパティなんかを、ここに投げ込むのは危険そう。

まとめ

何か知らんが変わってるので、Prism 6.0入門でも書いてみますか?