using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Ioc;
using Microsoft.Practices.ServiceLocation;
using Tango.MachineStudio.Synchronization.Navigation;
using Tango.MachineStudio.Synchronization.ViewModels;
namespace Tango.MachineStudio.Synchronization
{
/// <summary>
/// This class contains static references to all the view models in the
/// application and provides an entry point for the bindings.
/// </summary>
public static class ViewModelLocator
{
/// <summary>
/// Initializes a new instance of the ViewModelLocator class.
/// </summary>
static ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Register<MainViewVM>();
SimpleIoc.Default.Register<MenuViewVM>();
SimpleIoc.Default.Register<LocalSynchronizationViewVM>();
SimpleIoc.Default.Register<RemoteSynchronizationViewVM>();
SimpleIoc.Default.Register<DirectSynchronizationViewVM>();
SimpleIoc.Default.Unregister<SyncNavigationManager>();
SimpleIoc.Default.Register<SyncNavigationManager, SyncNavigationManager>();
}
public static MainViewVM MainViewVM
{
get
{
return ServiceLocator.Current.GetInstance<MainViewVM>();
}
}
public static MenuViewVM MenuViewVM
{
get
{
return ServiceLocator.Current.GetInstance<MenuViewVM>();
}
}
public static LocalSynchronizationViewVM LocalSynchronizationViewVM
{
get
{
return ServiceLocator.Current.GetInstance<LocalSynchronizationViewVM>();
}
}
public static RemoteSynchronizationViewVM RemoteSynchronizationViewVM
{
get
{
return ServiceLocator.Current.GetInstance<RemoteSynchronizationViewVM>();
}
}
public static DirectSynchronizationViewVM DirectSynchronizationViewVM
{
get
{
return ServiceLocator.Current.GetInstance<DirectSynchronizationViewVM>();
}
}
}
}