/// <summary> /// Configure all singleton and objects that /// need to be stored in the container for /// IoC and dependency injection. This will allow /// you to put in the constructor an object that is /// stored within the container and it will automagically /// be retreived from the container without having to /// pass value to the constructor. /// </summary> protected override void Configure() { // Found at https://github.com/gblmarquez/mui-sample-chat/blob/master/src/MuiChat.App/Bootstrapper.cs // Allows the CaliburnContentLoader to find the viewmodel based off the view string given // Used with ModernUI to navigate between views. ViewLocator.NameTransformer.AddRule( @"(?<nsbefore>([A-Za-z_]\w*\.)*)?(?<nsvm>ViewModels\.)(?<nsafter>([A-Za-z_]\w*\.)*)(?<basename>[A-Za-z_]\w*)(?<suffix>ViewModel$)", @"${nsbefore}Views.${nsafter}${basename}View", @"(([A-Za-z_]\w*\.)*)?ViewModels\.([A-Za-z_]\w*\.)*[A-Za-z_]\w*ViewModel$" ); _container = new SimpleContainer(); base.Configure(); // Set the localization of the app to the culture of the environment //LocalizeDictionary.Instance.Culture = CultureInfo.CurrentCulture; //LocalizeDictionary.Instance.SetCurrentThreadCulture = true; //LocalizeDictionary.Instance.Culture = CultureInfo.GetCultureInfo("en-US"); //Application.Current.Dispatcher.BeginInvoke(new System.Action(() => LocalizeDictionary.Instance.Culture = CultureInfo.CurrentCulture); ContainerExtensions.Singleton <IWindowManager, WindowManager>(_container); ContainerExtensions.Singleton <IEventAggregator, EventAggregator>(_container); ContainerExtensions.Singleton <IShellViewModel, ShellViewModel>(_container); // Singleton AdcpConnection ContainerExtensions.Singleton <AdcpConnection, AdcpConnection>(_container); // Singleton ProjectManager ContainerExtensions.Singleton <PulseManager, PulseManager>(_container); // Singleton DataFormatViewModel ContainerExtensions.Singleton <DataFormatViewModel, DataFormatViewModel>(_container); // Register the PlaybackViewModel ContainerExtensions.Singleton <PlaybackViewModel, PlaybackViewModel>(_container); // Singleton MainModernFrameViewModel ContainerExtensions.PerRequest <NavBarViewModel, NavBarViewModel>(_container); // Register the HomeViewModel ContainerExtensions.Singleton <HomeViewModel, HomeViewModel>(_container); // Register the TerminalViewModel //ContainerExtensions.Singleton<TerminalViewModel, TerminalViewModel>(_container); // Register the ViewDataBaseViewModel ContainerExtensions.Singleton <ViewDataBaseViewModel, ViewDataBaseViewModel>(_container); // Register the ValidationTestViewModel ContainerExtensions.Singleton <ValidationTestViewModel, ValidationTestViewModel>(_container); // Register the CompassCalViewModel ContainerExtensions.Singleton <CompassCalViewModel, CompassCalViewModel>(_container); // Register the ViewDataBaseGraphicalViewModel ContainerExtensions.Singleton <ViewDataBaseGraphicalViewModel, ViewDataBaseGraphicalViewModel>(_container); // Register the ViewDataBaseTextViewModel ContainerExtensions.Singleton <ViewDataBaseTextViewModel, ViewDataBaseTextViewModel>(_container); // Register the ViewDataBaseDvlViewModel ContainerExtensions.Singleton <ViewDataBaseDvlViewModel, ViewDataBaseDvlViewModel>(_container); // Register the ViewDataBaseTextViewModel ContainerExtensions.PerRequest <ViewDataTextEnsembleViewModel, ViewDataTextEnsembleViewModel>(_container); // Register the ScreenDataBaseViewModel ContainerExtensions.Singleton <ScreenDataBaseViewModel, ScreenDataBaseViewModel>(_container); // Register the AveragingBaseViewModel ContainerExtensions.Singleton <AveragingBaseViewModel, AveragingBaseViewModel>(_container); // Register the ValidationTestBaseViewModel ContainerExtensions.Singleton <ValidationTestBaseViewModel, ValidationTestBaseViewModel>(_container); // Register the DownloadDataViewModel ContainerExtensions.Singleton <DownloadDataViewModel, DownloadDataViewModel>(_container); // Register the UpdateFirmwareViewModel ContainerExtensions.Singleton <UpdateFirmwareViewModel, UpdateFirmwareViewModel>(_container); // Register the CompassUtilityViewModel ContainerExtensions.Singleton <CompassUtilityViewModel, CompassUtilityViewModel>(_container); // Register the CompassUtilityViewModel ContainerExtensions.Singleton <ViewDataBaseBackscatterViewModel, ViewDataBaseBackscatterViewModel>(_container); // Register the TerminalAdcpViewModel //ContainerExtensions.Singleton<TerminalAdcpViewModel, TerminalAdcpViewModel>(_container); // Register the TerminalGpsViewModel //ContainerExtensions.Singleton<TerminalNavViewModel, TerminalNavViewModel>(_container); // Register the AboutViewModel ContainerExtensions.Singleton <AboutViewModel, AboutViewModel>(_container); // Register the ExportDataViewModel ContainerExtensions.PerRequest <ExportDataViewModel, ExportDataViewModel>(_container); // Register the ModeViewModel ContainerExtensions.PerRequest <ModeViewModel, ModeViewModel>(_container); // Register the ProjectViewModel ContainerExtensions.PerRequest <ProjectViewModel, ProjectViewModel>(_container); // Register the NewProjectViewModel ContainerExtensions.PerRequest <NewProjectViewModel, NewProjectViewModel>(_container); // Register the SerialNumberGeneratorViewModel ContainerExtensions.PerRequest <SerialNumberGeneratorViewModel, SerialNumberGeneratorViewModel>(_container); // Register the CommunicationViewModel ContainerExtensions.PerRequest <CommunicationViewModel, CommunicationViewModel>(_container); // Register the StorageViewModel ContainerExtensions.PerRequest <StorageViewModel, StorageViewModel>(_container); // Register the LoadProjectsViewModel ContainerExtensions.Singleton <LoadProjectsViewModel, LoadProjectsViewModel>(_container); // Register the LoadProjectsViewModel ContainerExtensions.PerRequest <AdcpConfigurationViewModel, AdcpConfigurationViewModel>(_container); // Register the BottomTrackOnViewModel ContainerExtensions.PerRequest <BottomTrackOnViewModel, BottomTrackOnViewModel>(_container); // Register the BinsViewModel ContainerExtensions.PerRequest <BinsViewModel, BinsViewModel>(_container); // Register the PingTimingViewModel ContainerExtensions.PerRequest <PingTimingViewModel, PingTimingViewModel>(_container); // Register the FrequencyViewModel ContainerExtensions.PerRequest <FrequencyViewModel, FrequencyViewModel>(_container); // Register the BroadbandModeViewModel ContainerExtensions.PerRequest <BroadbandModeViewModel, BroadbandModeViewModel>(_container); // Register the VesselMountViewModel ContainerExtensions.Singleton <VesselMountViewModel, VesselMountViewModel>(_container); // Register the SaveAdcpConfigurationViewModel ContainerExtensions.PerRequest <SaveAdcpConfigurationViewModel, SaveAdcpConfigurationViewModel>(_container); // Register the SalinityViewModel ContainerExtensions.PerRequest <SalinityViewModel, SalinityViewModel>(_container); // Register the TimeViewModel ContainerExtensions.PerRequest <TimeViewModel, TimeViewModel>(_container); // Register the EnsembleIntervalViewModel ContainerExtensions.PerRequest <EnsembleIntervalViewModel, EnsembleIntervalViewModel>(_container); // Register the SimpleCompassCalViewModel ContainerExtensions.PerRequest <SimpleCompassCalViewModel, SimpleCompassCalViewModel>(_container); // Register the SimpleCompassCalWizardViewModel ContainerExtensions.PerRequest <SimpleCompassCalWizardViewModel, SimpleCompassCalWizardViewModel>(_container); // Register the ZeroPressureSensorViewModel ContainerExtensions.PerRequest <ZeroPressureSensorViewModel, ZeroPressureSensorViewModel>(_container); // Register the DeployAdcpViewModel ContainerExtensions.PerRequest <DeployAdcpViewModel, DeployAdcpViewModel>(_container); // Register the ScanAdcpViewModel ContainerExtensions.PerRequest <ScanAdcpViewModel, ScanAdcpViewModel>(_container); // Register the AdcpUtilitiesViewModel ContainerExtensions.PerRequest <AdcpUtilitiesViewModel, AdcpUtilitiesViewModel>(_container); // Register the BurstModeViewModel ContainerExtensions.PerRequest <BurstModeViewModel, BurstModeViewModel>(_container); // Register the AdcpPredicitionModelViewModel ContainerExtensions.PerRequest <AdcpPredictionModelViewModel, AdcpPredictionModelViewModel>(_container); // Register the SelectPlaybackViewModel ContainerExtensions.PerRequest <SelectPlaybackViewModel, SelectPlaybackViewModel>(_container); // Register the DvlSetupViewModel ContainerExtensions.PerRequest <DvlSetupViewModel, DvlSetupViewModel>(_container); // Register the RtiCompassCalViewModel ContainerExtensions.Singleton <RtiCompassCalViewModel, RtiCompassCalViewModel>(_container); // Register the DiagnosticsBaseViewModel ContainerExtensions.Singleton <DiagnosticsBaseViewModel, DiagnosticsBaseViewModel>(_container); // Register the DataOutputViewModel ContainerExtensions.Singleton <DataOutputViewModel, DataOutputViewModel>(_container); // Register the WpMagDirOutputViewModel ContainerExtensions.Singleton <WpMagDirOutputViewModel, WpMagDirOutputViewModel>(_container); // Register the ViewDataBaseProfile3DViewModel ContainerExtensions.Singleton <ViewDataBaseProfile3DViewModel, ViewDataBaseProfile3DViewModel>(_container); // Register the BaseDataOutputViewModel ContainerExtensions.Singleton <BaseDataOutputViewModel, BaseDataOutputViewModel>(_container); }