MvvMlight 学习之 SimpleIoc

Posted yeshuimaowei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }

 

以上是关于MvvMlight 学习之 SimpleIoc的主要内容,如果未能解决你的问题,请参考以下文章

2021-10-08 WPF上位机 60-MvvmLight框架IDialogService和DispatcherHelper

2021-10-05 WPF上位机 58-MvvmLight框架对象

WPF 高级篇 MVVM (MVVMlight) 依赖注入使用Messagebox

Flutter学习之混合开发

Flutter学习之混合开发

4_InfluxDB学习之InfluxDB的基本概念InfluxDB中独有的概念(Point,series),InfluxDB学习之InfluxDB的基本操作,InfluxDB操作方式,crud(代码