C# WPF LiveCharts LineSeries ItemsControl循环 在图表 CartesianChart VisualElements中添加一个文本
您可以使用WPF中的ItemsControl和DataTemplate来循环添加LineSeries和TextBlock元素。以下是一个示例代码:
<Grid>
<lvc:CartesianChart>
<ItemsControl ItemsSource="{Binding LineSeriesCollection}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<lvc:LineSeries Values="{Binding}" StrokeThickness="2" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<ItemsControl ItemsSource="{Binding TextBlocks}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</lvc:CartesianChart>
</Grid>
在代码中,您需要为LineSeries和TextBlock创建一个绑定的集合。您可以在ViewModel中创建这些集合,并将其分配给DataContext。
public class MainViewModel
{
public MainViewModel()
{
LineSeriesCollection = new ObservableCollection<ChartValues<double>>();
TextBlocks = new ObservableCollection<string>();
// 添加LineSeries和TextBlock的示例数据
LineSeriesCollection.Add(new ChartValues<double> { 1, 2, 3 });
LineSeriesCollection.Add(new ChartValues<double> { 4, 5, 6 });
TextBlocks.Add("TextBlock 1");
TextBlocks.Add("TextBlock 2");
}
public ObservableCollection<ChartValues<double>> LineSeriesCollection { get; set; }
public ObservableCollection<string> TextBlocks { get; set; }
}
然后,在您的MainWindow中设置DataContext:
public MainWindow()
{
InitializeComponent();
DataContext = new MainViewModel();
}
这样,您就可以在CartesianChart中动态添加LineSeries和TextBlock元素了
原文地址: http://www.cveoy.top/t/topic/hCXs 著作权归作者所有。请勿转载和采集!