2
とPRISMビューの複数のインスタンスを作成し、私は私のビューとビューモデルの両方がPartCreationPolicyが非共有持っているが、それは作成されませんPRISM/MEF私のアプリケーションではMEF
を使用して、同じビューの複数のインスタンスを作成したいです複数のビュー。その代わりに、すでに開いているビューのコンテンツが変更されます。
カスタマー・ビューの上部
[ViewExport("CustomerView")]
[Export]
[PartCreationPolicy(CreationPolicy.NonShared)]
public partial class CustomerView : UserControl
{
public CustomerView()
{
InitializeComponent();
}
CustomerViewModel
の上部//[Export(typeof(CustomerViewModel))]
[Export]
[PartCreationPolicy(CreationPolicy.NonShared)]
public class CustomerViewModel : NotificationObject, INavigationAware
{
private ICustomerRepository _custRepository;
これは、私はビューが顧客IDを渡して呼び出す方法です。
UriQuery parameters = new UriQuery();
parameters.Add("CustomerID", CurrentItem.CustomerID.ToString());
_regionManager.RequestNavigate(RegionNames.MainRegion,
new Uri("CustomerView" + parameters.ToString(), UriKind.Relative),
NavigationCompleted);
私はそれが新しいビュー毎回を開きますが、私は、顧客のIDを渡すことはできませんServiceLocator.GetInstanceを使用してビューを呼び出します。
_regionManager.Regions[RegionNames.MainRegion].Add(_serviceLocator.GetInstance<CustomerView>());
私を助けてください。私はちょうどいくつかのID(顧客IDなど)を渡して同じビューの複数のインスタンスを作成することです