public MainWindowViewModel(Window parentWindow)
 {
     _parentWindow = parentWindow;
     if (Registry.CurrentUser.OpenSubKey(Constants.registryAppNode) == null)
     {
         Registry.CurrentUser.CreateSubKey(Constants.registryAppNode);
     }
     _serialPortSettingsViewModel        = new SerialPortSettingsViewModel(Constants.registryAppNode);
     _defaultBackgroundBrush.ImageSource = new BitmapImage(new Uri(@"pack://application:,,,/MTESimulator;component/Images/defaultBG.jpg"));
     _defaultBackgroundBrush.Opacity     = 0.3;
     _slaveDataStore = DataStoreFactory.CreateDefaultDataStore();
     MTEDeviceModbusMemoryMapViewModel = new MTEDeviceModbusMemoryMapViewModel(_slaveDataStore, this);
 }
        public MainWindowViewModel(MainWindowView parentWindow)
        {
            _parentWindow = parentWindow;

            _worker = new BackgroundWorker()
            {
                WorkerReportsProgress      = true,
                WorkerSupportsCancellation = true
            };
            _worker.ProgressChanged    += worker_ProgressChanged;
            _worker.DoWork             += worker_DoWork_InteractWithDevice;
            _worker.RunWorkerCompleted += worker_WorkerCompleted;
            //Models
            Device      = new PO3Device();
            ReaderSaver = new PO3ModbusReaderSaver();
            //child viewmodels
            PO3DeviceUnitCommonSettingsTabViewModel         = new PO3DeviceUnitCommonSettingsTabViewModel(this);
            PO3DeviceUnitCommunicationSettingsTabViewModel  = new PO3DeviceUnitCommunicationSettingsTabViewModel(this);
            PO3DeviceUnitWindowsSettingsTabViewModel        = new PO3DeviceUnitWindowsSettingsTabViewModel(this);
            PO3DeviceUnitMeasurmentCircuitSettingsViewModel = new PO3DeviceUnitMeasurmentCircuitSettingsViewModel(this);
            PO3DeviceUnitParametersSettingsViewModel        = new PO3DeviceUnitParametersSettingsViewModel(this);
            _serialPortSettingsViewModel = new SerialPortSettingsViewModel(Constants.registryAppNode);
        }