//dependency injection container protected override void OnStartup(StartupEventArgs e) { // dependenies FrameSourceService frameSourceService = new FrameSourceService(); InvokerService invokerService = new InvokerService(); AuthService authService = new AuthService(); // viewModels MainViewModel mainViewModel = new MainViewModel(frameSourceService, invokerService); HomeViewModel homeViewModel = new HomeViewModel(frameSourceService, invokerService); LoginViewModel loginViewModel = new LoginViewModel(frameSourceService, invokerService, authService); RegisterViewModel registerViewModel = new RegisterViewModel(frameSourceService, invokerService, authService); SettingViewModel settingViewModel = new SettingViewModel(frameSourceService, invokerService, authService); GalleryViewModel galleryViewModel = new GalleryViewModel(frameSourceService, invokerService, authService); TaskManagerViewModel taskManagerViewModel = new TaskManagerViewModel(frameSourceService, invokerService, authService); ManagerPassViewModel managerPassViewModel = new ManagerPassViewModel(frameSourceService, invokerService, authService); // singleton ViewModelContainer.Init(mainViewModel, homeViewModel, loginViewModel, registerViewModel, settingViewModel, galleryViewModel, taskManagerViewModel, managerPassViewModel); invokerService.Invoke <MainViewModel>(new InitializationViewModel()); base.OnStartup(e); }
public static void Init(MainViewModel mainViewModel, HomeViewModel homeViewModel, LoginViewModel loginViewModel, RegisterViewModel registerViewModel, SettingViewModel settingViewModel, GalleryViewModel galleryViewModel, TaskManagerViewModel taskManagerViewModel, ManagerPassViewModel managerPassViewModel) { instance = new ViewModelContainer(mainViewModel, homeViewModel, loginViewModel, registerViewModel, settingViewModel, galleryViewModel, taskManagerViewModel, managerPassViewModel); }