protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); SetupUiCulture(); Window wnd = new MainWindow(); var dialogRegistrator = RegisterDialogs(wnd); var manager = new CycleBellManager("presets.xml", new PresetCollection(), TimerManager.Instance); var container = RegisterTypes(dialogRegistrator, manager); try { wnd.DataContext = container.Resolve <MainViewModel>(); } catch (Exception ex) { Trace.WriteLine(ex.Message); } wnd.Closed += delegate(object sender, EventArgs args) { manager.SavePresets(); }; wnd.Show(); }
private static UnityContainer RegisterTypes(DialogRegistrator dialogRegistrator, CycleBellManager manager) { var container = new UnityContainer(); container.RegisterInstance <IDialogRegistrator>(dialogRegistrator); var alarm = new Alarm(new MediaPlayerFactory()); alarm.LoadDefaultSoundCollection(); alarm.SetDefaultSound(); container.RegisterInstance <IAlarm>(alarm); container.RegisterInstance <ICycleBellManager>(manager); container.RegisterType <MainViewModel>(); return(container); }