public void SetDataContext(VisualWaveForm visualWaveForm, bool isBinding)
        {
            VisualLinerSamples samples = new VisualLinerSamples();
            samples.TimeAxis = _internalTimeAxis;
            samples.YAxis = visualWaveForm.YAxis;
            samples.Samples = visualWaveForm.WaveSamples;
            _linerGraph.SetDataContext(samples);

            _internalTimeAxis.CopyPropertiesFrom(visualWaveForm.TimeAxis);
            _internalTimeAxis.SampleInterval = (double)1000 / visualWaveForm.Format.SamplesPerSecond;
            if (isBinding)
            {
                visualWaveForm.PropertyChanged += OnWaveFormPropertyChanged;
                _timeAxisPropertiesBinder = new ViewDataPropertyBinder(_internalTimeAxis, visualWaveForm.TimeAxis);
                _timeAxisPropertiesBinder.ExcludedProperties.Add("SampleInterval");
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Link all components' time axis to specific time axis.
 /// </summary>
 /// <param name="timeAxis">VisualTimeAxis.</param>
 public void LinkTimeAxis(VisualTimeAxis timeAxis)
 {
     F0.TimeAxis = timeAxis;
     Gain.TimeAxis = timeAxis;
     Durations.TimeAxis = timeAxis;
     using (ViewDataPropertyBinder propertyBinder =
         new ViewDataPropertyBinder(WaveForm.TimeAxis, timeAxis))
     {
         propertyBinder.ExcludedProperties.Add("SampleInterval");
         _timeAxis = timeAxis;
     }
 }