1
LiveChart를 사용하는 데 문제가 있습니다. 실시간 데이터를 세리 컬렉션에 추가하겠습니다.livecharts 여러 시리즈 캐스팅 오류
<lvc:CartesianChart DisableAnimations="True"
Hoverable="False"
DataTooltip="{x:Null}"
Series="{Binding Series}"
Zoom="Xy"
Width="1300"
/>
:
이 내 XAML입니다. 나는 세리에 속성을 만들었습니다
private SeriesCollection series;
public SeriesCollection Series
{
get { return series; }
set { SetProperty(ref series, value, "Series"); }
}
생성자에서 초기화 다음 debugChannelSelected 메신저에 의해 수신
Series = new SeriesCollection();
Series.Add(new GLineSeries()
{
Name = debugChannelSelected.Name.Replace(' ', '_'),
Title = debugChannelSelected.Name,
Stroke = (Brush)new BrushConverter().ConvertFromString(debugChannelSelected.Color),
Values = new GearedValues<double>(),
Fill = Brushes.Transparent,
PointGeometry = null
});
}
.
100ms마다 나는 나의 시리즈의 컬렉션에 새 두 배를 추가하려고 해요 :
for (var j = 0; j < SelectedChannels.Count(); j++)
{
if (SelectedChannels[j] != null)
{
var serie =
Series.FirstOrDefault(w => w.Title.Equals(SelectedChannels[j]));
for (var i = 0; i < dataSize; i++)
{
var dbt = Convert.ToDouble(rnd.Next(-1000, 10000));
if (serie != null)
{
dbtValues[i] = dbt;
serie.Values.Add(dbt);
if (IsContinuousAcquisition && serie.Values.Count > 1000)
{
serie.Values.RemoveAt(0);
}
}
var dbtGear = dbtValues.AsGearedValues();
serie.Values.AddRange(dbtValues);
}
else
break;
}
하지만 난 serie.Values.AddRange (dbtValues)의 캐스트 오류를 받고 있어요; . 문제를 해결하는 방법에 대한 제안 사항이 있으십니까?
티아.