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 }