using System; using System.Windows; using CommonServiceLocator; using GalaSoft.MvvmLight.Ioc; using HandyControlDemo.Data; using HandyControlDemo.Service; using HandyControlDemo.ViewModel.Basic; namespace HandyControlDemo.ViewModel { public class ViewModelLocator { public ViewModelLocator() { ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(() => new GrowlDemoViewModel(), "GrowlDemo"); SimpleIoc.Default.Register(() => new GrowlDemoViewModel(MessageToken.GrowlDemoPanel), "GrowlDemoWithToken"); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); } public static ViewModelLocator Instance => new Lazy(() => Application.Current.TryFindResource("Locator") as ViewModelLocator).Value; #region Vm public MainViewModel Main => ServiceLocator.Current.GetInstance(); public GrowlDemoViewModel GrowlDemo => ServiceLocator.Current.GetInstance("GrowlDemo"); public GrowlDemoViewModel GrowlDemoWithToken => ServiceLocator.Current.GetInstance("GrowlDemoWithToken"); public ImageBrowserDemoViewModel ImageBrowserDemo => ServiceLocator.Current.GetInstance(); public ComboBoxDemoViewModel ComboBoxDemo => ServiceLocator.Current.GetInstance(); public WindowDemoViewModel WindowDemo => ServiceLocator.Current.GetInstance(); public ContributorsViewModel ContributorsView => ServiceLocator.Current.GetInstance(); public StepBarDemoViewModel StepBarDemo => ServiceLocator.Current.GetInstance(); public PaginationDemoViewModel PaginationDemo => ServiceLocator.Current.GetInstance(); public ChatBoxViewModel ChatBox => new ChatBoxViewModel(); public CoverViewModel CoverView => ServiceLocator.Current.GetInstance(); public DialogDemoViewModel DialogDemo => ServiceLocator.Current.GetInstance(); public SearchBarDemoViewModel SearchBarDemo => ServiceLocator.Current.GetInstance(); public NotifyIconDemoViewModel NotifyIconDemo => ServiceLocator.Current.GetInstance(); public InteractiveDialogViewModel InteractiveDialog => ServiceLocator.Current.GetInstance(); #endregion } }