我正在使用LiveCharts.WinForms.CartesianChart
来渲染大量点:
myChart.Zoom = ZoomingOptions.X;
myChart.Pan = PanningOptions.X;
myChart.Series.Add(new LineSeries
{
Values = chartValuesScores,
Fill = System.Windows.Media.Brushes.Transparent,
PointGeometrySize = 5
});
myChart.AxisX.Add(new Axis
{
Labels = labels
});
我想做的是显示某种进度条并停止LiveCharts
渲染此点所需的时间。但似乎LiveCharts
异步呈现这些点。这意味着在运行上面的代码后,它继续运行其他代码行并退出函数。 因此,我的问题是:有没有办法检测LiveCharts.WinForms.CartesianChart
已经完成了渲染?我找不到事件或其他东西。
我在检查文档时发现了这个:https://lvcharts.net/App/examples/v1/wpf/Events
它将Chart.UpdaterTick
列为事件之一。 当图形完成加载数据并将其呈现在屏幕上时,该事件似乎会触发,我相信您要查找什么?
我已经测试了自己,似乎按照我的预期工作。
有一个CartesianChart.Loaded
事件,该事件在呈现图表后触发。
myChart.Loaded += myChart_Loaded;
private void myChart_Loaded(object sender, RoutedEventArgs e)
{
// chart is rendered
}