using System; using System.Windows; using GalaSoft.MvvmLight.Ioc; using HandyControlDemo.Data; using HandyControlDemo.Service; namespace HandyControlDemo.ViewModel { public class ViewModelLocator { public ViewModelLocator() { SimpleIoc.Default.Register(); var dataService = SimpleIoc.Default.GetInstance(); 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(() => new ItemsDisplayViewModel(dataService.GetContributorDataList), "Contributors"); SimpleIoc.Default.Register(() => new ItemsDisplayViewModel(dataService.GetBlogDataList), "Blogs"); SimpleIoc.Default.Register(() => new ItemsDisplayViewModel(dataService.GetProjectDataList), "Projects"); SimpleIoc.Default.Register(() => new ItemsDisplayViewModel(dataService.GetWebsiteDataList), "Websites"); 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(); 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 => SimpleIoc.Default.GetInstance(); public GrowlDemoViewModel GrowlDemo => SimpleIoc.Default.GetInstance("GrowlDemo"); public GrowlDemoViewModel GrowlDemoWithToken => SimpleIoc.Default.GetInstance("GrowlDemoWithToken"); public ImageBrowserDemoViewModel ImageBrowserDemo => SimpleIoc.Default.GetInstance(); public ComboBoxDemoViewModel ComboBoxDemo => SimpleIoc.Default.GetInstance(); public WindowDemoViewModel WindowDemo => SimpleIoc.Default.GetInstance(); public ItemsDisplayViewModel ContributorsView => SimpleIoc.Default.GetInstance("Contributors"); public ItemsDisplayViewModel BlogsView => SimpleIoc.Default.GetInstance("Blogs"); public ItemsDisplayViewModel ProjectsView => SimpleIoc.Default.GetInstance("Projects"); public ItemsDisplayViewModel WebsitesView => SimpleIoc.Default.GetInstance("Websites"); public StepBarDemoViewModel StepBarDemo => SimpleIoc.Default.GetInstance(); public PaginationDemoViewModel PaginationDemo => SimpleIoc.Default.GetInstance(); public ChatBoxViewModel ChatBox => new ChatBoxViewModel(); public CoverViewModel CoverView => SimpleIoc.Default.GetInstance(); public DialogDemoViewModel DialogDemo => SimpleIoc.Default.GetInstance(); public SearchBarDemoViewModel SearchBarDemo => SimpleIoc.Default.GetInstance(); public NotifyIconDemoViewModel NotifyIconDemo => SimpleIoc.Default.GetInstance(); public InteractiveDialogViewModel InteractiveDialog => SimpleIoc.Default.GetInstance(); public BadgeDemoViewModel BadgeDemo => SimpleIoc.Default.GetInstance(); public SideMenuDemoViewModel SideMenuDemo => SimpleIoc.Default.GetInstance(); public TabControlDemoViewModel TabControlDemo => new TabControlDemoViewModel(SimpleIoc.Default.GetInstance()); public NoUserViewModel NoUser => SimpleIoc.Default.GetInstance(); public CardDemoViewModel CardDemo => new CardDemoViewModel(SimpleIoc.Default.GetInstance()); public SpriteDemoViewModel SpriteDemo => SimpleIoc.Default.GetInstance(); public NotificationDemoViewModel NotificationDemo => SimpleIoc.Default.GetInstance(); public SplitButtonDemoViewModel SplitButtonDemo => SimpleIoc.Default.GetInstance(); #endregion } }