MvvMlight 學習之 SimpleIoc


 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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM