C# WPF LiveCharts 使用 ItemsControl 循环绑定 LineSeries 数据
你可以使用 ItemsControl 来循环绑定 LineSeries 的数据。首先,需要在 XAML 中定义一个 CartesianChart 控件和一个 ItemsControl 控件,如下所示:
<Grid>
<lvc:CartesianChart x:Name="chart" />
<ItemsControl x:Name="seriesContainer" />
</Grid>
然后,在代码中,你需要创建一个 ObservableCollection 来存储 LineSeries 的数据,并将其绑定到 ItemsControl 的 ItemsSource 属性上:
public ObservableCollection<LineSeries> SeriesCollection { get; set; } = new ObservableCollection<LineSeries>();
public MainWindow()
{
InitializeComponent();
seriesContainer.ItemsSource = SeriesCollection;
}
接下来,你可以在需要的地方创建 LineSeries 对象,并将其添加到 SeriesCollection 中:
var series = new LineSeries
{
Title = 'Series 1',
Values = new ChartValues<double> { 1, 2, 3, 4, 5 }
};
SeriesCollection.Add(series);
最后,你可以通过 ItemsControl 的 ItemTemplate 来定义每个 LineSeries 的可视化元素。在 ItemTemplate 中,你可以使用 VisualElement 控件,并将其 X 和 Y 属性绑定到 LineSeries 的 X 和 Y 属性上:
<ItemsControl.ItemTemplate>
<DataTemplate>
<lvc:VisualElement X='{Binding X}' Y='{Binding Y}' />
</DataTemplate>
</ItemsControl.ItemTemplate>
这样,每个 LineSeries 的数据都将通过 ItemsControl 进行循环绑定,并在 CartesianChart 中显示出来。
原文地址: https://www.cveoy.top/t/topic/o5HM 著作权归作者所有。请勿转载和采集!