Я пытаюсь визуализировать вертикальную красную линию снизу вверх по оси Y. У меня есть определенная длина волны по оси X, поэтому, когда пользователь использует ползунок, он останавливается и принимает эту конкретную длину волны.
Вот мой код:
public double WavelengthSliderValue
{
get => _wavelengthSliderValue;
set
{
if (_wavelengthSliderValue != value)
{
_wavelengthSliderValue = value;
OnPropertyChanged();
UpdateRedLine();
}
}
}
public void UpdateRedLine()
{
if (SpectralPlotModel != null && SpectralPlotModel.Series.Count > 1)
{
var redLineSeries = SpectralPlotModel.Series[1] as LineSeries;
if (redLineSeries != null)
{
var selectedWavelength = WavelengthSliderValue;
Debug.Print("Wavelength : " + selectedWavelength);
// Clear existing points
redLineSeries.Points.Clear();
// Ensure the axis limits are correct
var yAxis = SpectralPlotModel.Axes[1];
redLineSeries.Points.Add(new DataPoint(selectedWavelength, yAxis.Minimum)); // Min Y
redLineSeries.Points.Add(new DataPoint(selectedWavelength, yAxis.Maximum)); // Max Y
SpectralPlotModel.InvalidatePlot(true);
}
else
{
Debug.Write("No red line series found");
}
}
}
Внутри UpdateRedLine я правильно определяю длину волны, поэтому полученное число в порядке, но по какой-то причине оно вообще не отображает мою красную линию.
Я неправильно установил?
Спасибо.
Я пытаюсь визуализировать вертикальную красную линию снизу вверх по оси Y. У меня есть определенная длина волны по оси X, поэтому, когда пользователь использует ползунок, он останавливается и принимает эту конкретную длину волны. Вот мой код: [code] public PlotViewModel() { InitializeRenderingLoop();
// Initialize SpectralPlotModel SpectralPlotModel = new PlotModel { Title = "Data from Socket", Background = OxyColors.Transparent, TextColor = OxyColors.White, PlotAreaBorderColor = OxyColors.White };
// Ensure the axis limits are correct var yAxis = SpectralPlotModel.Axes[1]; redLineSeries.Points.Add(new DataPoint(selectedWavelength, yAxis.Minimum)); // Min Y redLineSeries.Points.Add(new DataPoint(selectedWavelength, yAxis.Maximum)); // Max Y SpectralPlotModel.InvalidatePlot(true); } else {
Debug.Write("No red line series found"); } } } [/code] Мои файлы xaml (я использую MVVM): [code]
[/code] Внутри UpdateRedLine я правильно определяю длину волны, поэтому полученное число в порядке, но по какой-то причине оно вообще не отображает мою красную линию. Я неправильно установил? Спасибо.
У меня есть серия, которую я хочу сделать видимой или невидимой, установив флажок. Это простой проект с XAML и файлом .cs «кода». Когда я устанавливаю или снимаю флажок, свойство isVisible меняет свое значение на true или false в зависимости от...
У меня есть серия, которую я хочу сделать видимой или невидимой, установив флажок. Это простой проект с XAML и файлом .cs «кода». Когда я устанавливаю или снимаю флажок, свойство isVisible меняет свое значение на true или false в зависимости от...