public void RegisterViewModels()
{
if (!IsInitialized)
{
IsInitialized = true;
ServiceLocator.Register<MainViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<AddNewProgramViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<UploadProgramViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<UploadProgramLoadingViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<UploadProgramLoginViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<UploadProgramRegisterViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<UploadProgramForgotPasswordViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<UploadProgramNewPasswordViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<SoundRecorderViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<SettingsViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<SettingsBrickViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<SettingsLanguageViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<SettingsThemeViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<ChangeLookViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<NewSoundSourceSelectionViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<ChangeSoundViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<SoundNameChooserViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<AddNewSpriteViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<ChangeSpriteViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<ProgramSettingsViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<OnlineProgramViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<OnlineProgramReportViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<NewBroadcastMessageViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<ScriptBrickCategoryViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<AddNewScriptBrickViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<FormulaKeyboardViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<FormulaEditorViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<VariableSelectionViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<AddNewGlobalVariableViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<AddNewLocalVariableViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<ChangeVariableViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<SpritesViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<SpriteEditorViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<NewLookSourceSelectionViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<EditorLoadingViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<LookNameChooserViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<ProgramDetailViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<ProgramExportViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<InformationViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<PlayerViewModel>(TypeCreationMode.Normal);
ServiceLocator.Register<DetailedProgramViewModel>(TypeCreationMode.Normal);
}
}