1313*/
1414
1515using CommonServiceLocator ;
16- using GalaSoft . MvvmLight ;
17- using GalaSoft . MvvmLight . Ioc ;
16+ using CommunityToolkit . Mvvm . DependencyInjection ;
17+ using Microsoft . Extensions . DependencyInjection ;
18+ using System . ComponentModel ;
19+ using System . Windows . Navigation ;
20+
1821
1922namespace Demo . ViewModel
2023{
@@ -29,51 +32,54 @@ public class ViewModelLocator
2932 /// </summary>
3033 public ViewModelLocator ( )
3134 {
32- ServiceLocator . SetLocatorProvider ( ( ) => SimpleIoc . Default ) ;
33-
34- if ( ViewModelBase . IsInDesignModeStatic )
35+ if ( DesignerProperties . GetIsInDesignMode ( new System . Windows . DependencyObject ( ) ) )
3536 {
3637 // Create design time view services and models
37- SimpleIoc . Default . Register < IViewModelMainWindow , SampleData . SampleViewModelMainWindow > ( ) ;
38- SimpleIoc . Default . Register < IViewModelPinnedTabExampleWindow , SampleData . SampleViewModelPinnedTabExampleWindow > ( ) ;
39- SimpleIoc . Default . Register < IViewModelCustomStyleExampleWindow , SampleData . SampleViewModelCustomStyleExampleWindow > ( ) ;
38+ Ioc . Default . ConfigureServices (
39+ new ServiceCollection ( )
40+ . AddSingleton < IViewModelMainWindow , SampleData . SampleViewModelMainWindow > ( )
41+ . AddSingleton < IViewModelPinnedTabExampleWindow , SampleData . SampleViewModelPinnedTabExampleWindow > ( )
42+ . AddSingleton < IViewModelCustomStyleExampleWindow , SampleData . SampleViewModelCustomStyleExampleWindow > ( )
43+ . BuildServiceProvider ( ) ) ;
4044 }
4145 else
4246 {
4347 // Create run time view services and models
44- SimpleIoc . Default . Register < IViewModelMainWindow , ViewModelMainWindow > ( ) ;
45- SimpleIoc . Default . Register < IViewModelPinnedTabExampleWindow , ViewModelPinnedTabExampleWindow > ( ) ;
46- SimpleIoc . Default . Register < IViewModelCustomStyleExampleWindow , ViewModelCustomStyleExampleWindow > ( ) ;
48+ Ioc . Default . ConfigureServices (
49+ new ServiceCollection ( )
50+ . AddSingleton < IViewModelMainWindow , ViewModelMainWindow > ( )
51+ . AddSingleton < IViewModelPinnedTabExampleWindow , ViewModelPinnedTabExampleWindow > ( )
52+ . AddSingleton < IViewModelCustomStyleExampleWindow , ViewModelCustomStyleExampleWindow > ( )
53+ . BuildServiceProvider ( ) ) ;
4754 }
48-
4955 }
5056
5157 public IViewModelCustomStyleExampleWindow VieWModelCustomStyleExampleWindow
5258 {
53- get
59+ get
5460 {
55- return ServiceLocator . Current . GetInstance < IViewModelCustomStyleExampleWindow > ( ) ;
61+ return Ioc . Default . GetService < IViewModelCustomStyleExampleWindow > ( ) ;
5662 }
5763 }
5864
5965 public IViewModelMainWindow ViewModelMainWindow
6066 {
6167 get
6268 {
63- return ServiceLocator . Current . GetInstance < IViewModelMainWindow > ( ) ;
69+ return Ioc . Default . GetService < IViewModelMainWindow > ( ) ;
6470 }
6571 }
6672
6773 public IViewModelPinnedTabExampleWindow ViewModelPinnedTabExampleWindow
6874 {
6975 get
7076 {
71- return ServiceLocator . Current . GetInstance < IViewModelPinnedTabExampleWindow > ( ) ;
77+ return Ioc . Default . GetService < IViewModelPinnedTabExampleWindow > ( ) ;
7278 }
7379
7480 }
7581
76-
82+
7783 public static void Cleanup ( )
7884 {
7985 // TODO Clear the ViewModels
0 commit comments