1 SimpleIoc 是一个简单依赖注入容器; 2 3 例:Mainviewmodel需要使用一个服务或类,假设我需要的person类 4 5 首先将实现的服务注册到SimpleIOC, 6 SimpleIoc.Default.Register<Person>(()=>new Person()); 7 然后把Mainviewmodel也注册到SimpleIOC, 8 SimpleIoc.Default.Register<MainViewModel>(); 9 10 11 你可以通过ServiceLocator.Current.GetInstance<MainViewModel>();来获取一个Mainviewmodel的实例,
并且根据Mainviewmodel的构造参数在SimpleIOC中寻找匹配的对象,然后就可以使用了; 12 13 public class ViewModelLocator 14 { 15 static ViewModelLocator() 16 { 17 ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);//设置默认的SimpleIOC 18 SimpleIoc.Default.Register<Person>(()=>new Person());//将自己的类注册到SimpleIOC 19 20 SimpleIoc.Default.Register<MainViewModel>();//把Mainviewmodel也注册到SimpleIOC 21 } 22 public MainViewModel Main 23 { 24 get 25 { 26 return ServiceLocator.Current.GetInstance<MainViewModel>();//获取Mainviewmodel的实例 27 } 28 } 29 } 30 31 32 public MainViewModel(Person data)///Mainviewmodel的构造参数,匹配Person类 33 { 34 WelcomeTitle =data.Name; 35 }