MVVM轻型IOC容器示例
我一直在研究Lauren Bugnon关于MVVM轻型IOC容器的这篇博文,我发现有一件事让我很困惑 这里有一个到博客帖子的链接 我不想引用整件事,所以我只想包括我很难理解的片段MVVM轻型IOC容器示例,mvvm,xamarin,inversion-of-control,mvvm-light,Mvvm,Xamarin,Inversion Of Control,Mvvm Light,我一直在研究Lauren Bugnon关于MVVM轻型IOC容器的这篇博文,我发现有一件事让我很困惑 这里有一个到博客帖子的链接 我不想引用整件事,所以我只想包括我很难理解的片段 public class ViewModelLocator { static ViewModelLocator() { ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); if (ViewModelBase.IsInDe
public class ViewModelLocator
{
static ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
if (ViewModelBase.IsInDesignModeStatic)
{
SimpleIoc.Default.Register<IRssService, Design.DesignRssService>();
}
else
{
SimpleIoc.Default.Register<IRssService, RssService>();
}
SimpleIoc.Default.Register<INavigationService, NavigationService>();
SimpleIoc.Default.Register<MainViewModel>();
}
public MainViewModel Main
{
get
{
return ServiceLocator.Current.GetInstance<MainViewModel>();
}
}
}
公共类ViewModelLocator
{
静态ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(()=>SimpleIoc.Default);
if(ViewModelBase.IsIndesignatic)
{
SimpleIoc.Default.Register();
}
其他的
{
SimpleIoc.Default.Register();
}
SimpleIoc.Default.Register();
SimpleIoc.Default.Register();
}
公共主视图模型主视图
{
得到
{
返回ServiceLocator.Current.GetInstance();
}
}
}
现在我理解了静态构造函数和所有东西,但我无法理解
public MainViewModel Main
{
get
{
return ServiceLocator.Current.GetInstance<MainViewModel>();
}
}
public Main视图模型Main
{
得到
{
返回ServiceLocator.Current.GetInstance();
}
}
这个功能甚至可以访问吗?怎么做
谢谢!:) 是的,只要有ViewModelLocator实例,就可以访问它。例如,您可以在App.xaml中实例化一个实例,并且可以通过StaticResource访问该实例。您能举个例子吗?因为在我的App.cs中,它不允许我编写
公共静态ViewModelLocator定位器
哇,我真蠢,错过了课前的一个公共窗口让我非常困惑到底是什么问题。感谢您可以通过编写以下内容将其添加到XAML中