public MainWindowsViewModel()
        {
            SelectedMarkerIndex = -1;

            _sliderCanvasService = new SliderCanvasService();
            _sliderCanvasService.MarkerSelected      += _sliderCanvasService_MarkerSelected;
            _sliderCanvasService.MarkerMoved         += _sliderCanvasService_MarkerMoved;
            _sliderCanvasService.ProgressMarkerMoved += _sliderCanvasService_ProgressMarkerMoved;

            InitCommands();

#if FAKEDEVICE
            _transiverFactory = new FakeTransiverFactory();
            _messengerFactory = new FakeMessengerFactory();
#else
            _transiverFactory = new SerialTransiverFactory("COM9", 230400);
            _messengerFactory = new MessengerFactory();
#endif
            _transiver                                      = _transiverFactory.CreateTransiver();
            _transiver.Opened                              += _transiver_Opened;
            _transiver.Closed                              += _transiver_Closed;
            _messenger                                      = _messengerFactory.CreateMessenger(_transiver);
            _messenger.ByteReceived                        += _messenger_ByteReceived;
            _messengerWorker                                = new MessengerWorker(_messenger);
            _messengerWorker.AddMarkerCompleted            += _messengerWorker_AddMarkerCompleted;
            _messengerWorker.RemMarkerCompleted            += _messengerWorker_RemMarkerCompleted;
            _messengerWorker.SetMarkerCompleted            += _messengerWorker_SetMarkerCompleted;
            _messengerWorker.SetTimeSpanCompleted          += _messengerWorker_SetTimeSpanCompleted;
            _messengerWorker.SetTimeProgressCompleted      += _messengerWorker_SetTimeProgressCompleted;
            _messengerWorker.ByteReceived                  += _messengerWorker_ByteReceived;
            _messengerWorker.ReadMarkerCompleted           += _messengerWorker_ReadMarkerCompleted;
            _messengerWorker.ReadMarkerCountCompleted      += _messengerWorker_ReadMarkerCountCompleted;
            _messengerWorker.ReadTimeSpanCompleted         += _messengerWorker_ReadTimeSpanCompleted;
            _messengerWorker.ReadTimeProgressCompleted     += _messengerWorker_ReadTimeProgressCompleted;
            _messengerWorker.ReadSystemStateFlagsCompleted += _messengerWorker_ReadSystemStateFlagsCompleted;

            //_audioDataReceiver = new AudioDataReceiver(1, 128, 64, 8);
            _audioDataReceiver = new AudioDataReceiver(1, 64, 32, 7);
            _audioDataReceiver.DataReceived += _audioDataReceiver_DataReceived;
            SpectrumSnapshotCommand          = new DelegateCommand(SpectrumSnapshotAction);

            if (IsInDesignMode)
            {
                _colorSchemeResource = new FakeColorSchemeResource();
            }
            else
            {
                _colorSchemeResource = new ColorSchemeResource();
            }

            ColorSchemeCategories = new ObservableCollection <ColorSchemeCategory>(_colorSchemeResource.GetCategories());
        }
 public static void SetSliderService(DependencyObject obj, SliderCanvasService value)
 {
     obj.SetValue(SliderServiceProperty, value);
 }