public SoundSpeedProfileViewModel(IHRCSaveFileService saveFile)
 {
     _saveFileService = saveFile;
     _propertyObserver = new PropertyObserver<SoundSpeedProfileViewModel>(this)
         .RegisterHandler(p => p.SoundSpeedProfile, SoundSpeedProfileChanged);
     var axisRanges = new RangeCollection();
     axisRanges.Add(new Range(0.1, 10));
     DesignTimeData = new SoundSpeedProfileViewModel
     {
         FourAxisSeriesViewModel = new FourAxisSeriesViewModel
         {
             BottomAxis =
             {
                 Visibility = Visibility.Visible,
                 Label = "Sound speed (m/s)",
             },
             LeftAxis =
             {
                 Visibility = Visibility.Visible,
                 Label = "Depth (m)",
                 IsInverted = true,
             },
             TopAxis = { Visibility = Visibility.Collapsed },
             RightAxis = { Visibility = Visibility.Collapsed },
         },
     };
     DesignTimeData.FourAxisSeriesViewModel.BottomAxis.DataRange = axisRanges;
     DesignTimeData.FourAxisSeriesViewModel.LeftAxis.DataRange = axisRanges;
 }
 void SubscribeToMouseEventStreams()
 {
     DoubleClick.Subscribe(g =>
     {
         if (MouseSoundSpeedProfile != null)
         {
             if (SoundSpeedProfileViewModel == null) SoundSpeedProfileViewModel = new SoundSpeedProfileViewModel(Globals.SaveFileService);
             if (_soundSpeedProfileWindowView == null)
             {
                 _soundSpeedProfileWindowView = (SoundSpeedProfileWindowView)Globals.VisualizerService.ShowWindow("SoundSpeedProfileWindowView", SoundSpeedProfileViewModel, false, (sender, args) => { _soundSpeedProfileWindowView = null; });
                 _soundSpeedProfileWindowView.Closed += (s, e1) => { SoundSpeedProfileViewModel = null; };
                 SoundSpeedProfileViewModel.View = _soundSpeedProfileWindowView.FindChildren<SoundSpeedProfileView>().First();
                 SoundSpeedProfileViewModel.WindowView = _soundSpeedProfileWindowView;
             }
             SoundSpeedProfileViewModel.SoundSpeedProfile = MouseSoundSpeedProfile;
         }
         IsSoundSpeedProfilePopupOpen = true;
     });
 }
 static SoundSpeedProfileViewModel()
 {
     var axisRanges = new RangeCollection();
     axisRanges.Add(new Range(0.1, 10));
     DesignTimeData = new SoundSpeedProfileViewModel
     {
         FourAxisSeriesViewModel = new FourAxisSeriesViewModel
         {
             BottomAxis =
                 {
                     Visibility = Visibility.Visible,
                     Label = "Sound speed (m/s)",
                 },
             LeftAxis =
                 {
                     Visibility = Visibility.Visible,
                     Label = "Depth (m)",
                     IsInverted = true,
                 },
             TopAxis = { Visibility = Visibility.Collapsed },
             RightAxis = { Visibility = Visibility.Collapsed },
         },
     };
     DesignTimeData.FourAxisSeriesViewModel.BottomAxis.DataRange = axisRanges;
     DesignTimeData.FourAxisSeriesViewModel.LeftAxis.DataRange = axisRanges;
 }