diff --git a/src/Wpf/Prism.Wpf/PrismApplicationBase.cs b/src/Wpf/Prism.Wpf/PrismApplicationBase.cs index f6e342ee39..9600a9fe58 100644 --- a/src/Wpf/Prism.Wpf/PrismApplicationBase.cs +++ b/src/Wpf/Prism.Wpf/PrismApplicationBase.cs @@ -2,7 +2,6 @@ using System.Windows; using Prism.Ioc; using Prism.Modularity; -using Prism.Mvvm; using Prism.Regions; namespace Prism @@ -48,10 +47,7 @@ void InitializeInternal() /// protected virtual void ConfigureViewModelLocator() { - ViewModelLocationProvider.SetDefaultViewModelFactory((view, type) => - { - return Container.Resolve(type); - }); + PrismInitializationExtensions.ConfigureViewModelLocator(Container); } /// diff --git a/src/Wpf/Prism.Wpf/PrismBootstrapperBase.cs b/src/Wpf/Prism.Wpf/PrismBootstrapperBase.cs index d5dfc89c26..7c4312705a 100644 --- a/src/Wpf/Prism.Wpf/PrismBootstrapperBase.cs +++ b/src/Wpf/Prism.Wpf/PrismBootstrapperBase.cs @@ -1,6 +1,5 @@ using Prism.Ioc; using Prism.Modularity; -using Prism.Mvvm; using Prism.Regions; using System; using System.Windows; @@ -45,10 +44,7 @@ public void Run() /// protected virtual void ConfigureViewModelLocator() { - ViewModelLocationProvider.SetDefaultViewModelFactory((view, type) => - { - return Container.Resolve(type); - }); + PrismInitializationExtensions.ConfigureViewModelLocator(Container); } /// diff --git a/src/Wpf/Prism.Wpf/PrismInitializationExtensions.cs b/src/Wpf/Prism.Wpf/PrismInitializationExtensions.cs index 4ef980cecd..09de3178e0 100644 --- a/src/Wpf/Prism.Wpf/PrismInitializationExtensions.cs +++ b/src/Wpf/Prism.Wpf/PrismInitializationExtensions.cs @@ -2,6 +2,7 @@ using Prism.Ioc; using Prism.Logging; using Prism.Modularity; +using Prism.Mvvm; using Prism.Regions; using Prism.Regions.Behaviors; using Prism.Services.Dialogs; @@ -18,6 +19,14 @@ namespace Prism { internal static class PrismInitializationExtensions { + internal static void ConfigureViewModelLocator(IContainerProvider containerProvider) + { + ViewModelLocationProvider.SetDefaultViewModelFactory((view, type) => + { + return containerProvider.Resolve(type); + }); + } + internal static void RegisterRequiredTypes(this IContainerRegistry containerRegistry, IModuleCatalog moduleCatalog) { containerRegistry.RegisterInstance(moduleCatalog);