static ViewModelLocator() {
            ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);

            if(ViewModelBase.IsInDesignModeStatic) {
                SimpleIoc.Default.Register<IDataService, Design.DesignDataService>();
            }
            else {
                SimpleIoc.Default.Register<IDataService, DataService>();
            }

            SimpleIoc.Default.Register<MainViewModel>();

            SimpleIoc.Default.Register<ContactBook>(()=>{
                ContactBook cb = new ContactBook();
                cb.Students.Add(new Student() { Name = "Tom" });
                cb.Students.Add(new Student() { Name = "Tom2" });
                cb.Students.Add(new Student() { Name = "Tom3" });
                cb.Students.Add(new Student() { Name = "Tom4" });
                cb.Students.Add(new Student() { Name = "Tom5" });
                cb.Students.Add(new Student() { Name = "Tom6" });
                return cb;
            });

            SimpleIoc.Default.Register<EditViewModel>(true);

            SimpleIoc.Default.Register<DockExViewModel>(()=> DockExViewModel.Instance);
            SimpleIoc.Default.Register<TemplateRigster>(true);
            SimpleIoc.Default.Register<DialogRigster>(true);

//             PanelTemplateManager.Register<TestUserControlViewModel, TestUserControl>();
        }
        /// <summary>
        /// Initializes a new instance of the MainViewModel class.
        /// </summary>
        public MainViewModel(IDataService dataService,ContactBook cb) {
            _dataService = dataService;
            _dataService.GetData(
                (item, error) => {
                    if(error != null) {
                        // Report error here
                        return;
                    }

                    WelcomeTitle = item.Title;
                });
            _contactBook = cb;
            _students = cb.Students;

            EditCmd = new RelayCommand<Student>(edit, canEdit);

        }