14: Upgrading from Prism Library 4.1(原文)
Microsoft Prism Library 5.0 for WPFの開発者のガイドから
このトピックでは、Prism Libraryのソリューションをバージョン4.1からバージョン5.0に、どのように、アップグレードするか説明します。 そして、あなたが、5.0バージョンにアップグレードを検討している場合、あなたが、注意する必要がある主要な変更があります。
ViewModel名前空間とAPIの変更
ViewModel Namespace and API Changes
Microsoft.Practices.Prism.ViewModel名前空間のクラスは、廃止されました。 しかし、今まで通り、Prism 5.0の中に存在します。 あなたは、Microsoft.Practices.Prism.Mvvm名前空間のMicrosoft.Practices.Prism.Mvvmポータブル・クラス・ライブラリから、クラスを使用する必要があります。 BindableBaseクラスは、NotificationObjectクラスと置き換えられました。 あなたが、INotifyPropertyChangedイベントを実装する必要がある場合、あなたは、現在、BindableBaseを使用する必要があります。 そして、値が、実際に変更される場合、検証する、プロパティ・セッターのSetPropertyメソッドを使用します。 そして、そうであれば、支援領域を設定して、PropertyChangedイベントを発生させます。
4.1コードでは、以下の通りです。:
C#
this.RaisePropertyChanged(() => this.WatchListItems);
. . .
if (value != this.timeInForce)
{
this.timeInForce = value;
this.RaisePropertyChanged(() => this.TimeInForce);
}
5.0コードでは、以下の通りです。:
C#
OnPropertyChanged(() => this.WatchListItems);
. . .
SetProperty(ref this.timeInForce, value);
PrismNuGetパッケージは、新しいPrismアセンブリへの変更を管理します。
あなたが、手動で参照を更新することに決定する場合、次に、Microsoft.Practices.Prism.ViewModel名前空間は、次の参照を追加する必要があります。:
- Microsoft.Practices.Prism.Mvvm
- Microsoft.Practices.Prism.Mvvm.Desktop
- Microsoft.Practices.Prism.ShareInterfaces
他の方法として、あなたが、Prism.Mvvm APIだけが、必要な場合、あなたは、Prism.Mvvmパッケージに、NuGetの参照を追加することができます。
EventAggregator名前空間とAPIの変更
EventAggregator Namespace and API Changes
Events名前空間のクラスは、廃止されましたが、今まで通り、Prism 5.0の中に存在します。 あなたは、Prism.PubSubEvents名前空間のPrism.PubSubEvents portableクラス・ライブラリから、 クラスを使用する必要があります。PubSubEventクラスは、CompositePresentationEventクラスと置き換えられました。
PrismNuGetパッケージは、新しいPrismアセンブリへの変更を管理します。
あなたが、手動で参照を更新することに決定する場合、あなたは、現在、次に示す参照を追加する必要があります。:
- Microsoft.Practices.Prism.PubSubEvents
他の方法として、あなたは、NuGetの参照を、あなたが、Prism.PubSubEvents APIだけが、 必要な場合、NuGetパッケージのPrism.PubSubEventsに挿入することができます。
APIが変更するRegions名前空間
Regions Namespace API Changes
UriQueryクラスは、NavigationParametersクラスに置き換えられ、そして、Regions名前空間に移動されます。以前の機能は、同じままです。 そして、オブジェクト・パラメータのサポートが、追加されました。 インターフェイスINavigateAsyncで定義される、RequestNavigateメソッドは、avigationParametersを渡すことができるように更新されました。
アセンブリが変更するコマンド
Commands Assembly Changes
Commands名前空間から、次のクラスは、Prismライブラリから、Prism.Mvvmポータブル・クラス・ライブラリに、移動されました。:
- CompositeCommand
- DelegateCommand
- DelegateCommandBase
- WeakEventHandlerManager
これらのクラスのため、あなたは、参照だけ、Prism.Mvvmアセンブリに変更する必要があるでしょう。
CommandBehaviorBaseクラスは、Commands名前空間から、Prism.Interactivity名前空間へ移動されました。 ExecuteCommandメソッドは、現在、パラメータとして、オブジェクトを取得します。
ButtonBaseClickCommandBehaviorとClickクラスは、廃止された最後のリリースであったため、削除されました。
PrismのNuGetパッケージ
Prism NuGet Packages
次の署名されたPrismアセンブリは、現在、NuGetから参照することができます。:
- Prism 5.0
- Prism.Composition 5.0
- Prism.Interactivity 5.0
- Prism.PubSubEvents 1.0
- Prism.Mvvm 1.0
- Prism.UnityExtensions 5.01
- Prism.MefExtensions 5.0
PrismのNuGetパッケージは、Prism.Composition、Prism.PubSubEvents、Prism.MvvmとPrism.Interactivity NuGetパッケージをダウンロードするでしょう。