SimpleIoc 是一个简单依赖注入容器;
例:Mainviewmodel需要使用一个服务或类,假设我需要的person类
首先将实现的服务注册到SimpleIOC,
SimpleIoc.Default.Register
然后把Mainviewmodel也注册到SimpleIOC,
SimpleIoc.Default.Register
你可以通过ServiceLocator.Current.GetInstance
public class ViewModelLocator
{
static ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);//设置默认的SimpleIOC
SimpleIoc.Default.Register<IRssService, RssService>();//公共变量交换器
SimpleIoc.Default.Register<MainWindowViewModel>();
}
public MainWindowViewModelMain
{
get
{
return ServiceLocator.Current.GetInstance<MainWindowViewModel>();//获取Mainviewmodel的实例
}
}
}
public MainViewModel(Person data)///Mainviewmodel的构造参数,匹配Person类
{
WelcomeTitle =data.Name;
}