我正在使用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
是否已完成渲染?我找不到事件或其他东西。
答案 0 :(得分:0)
有一个CartesianChart.Loaded
事件,该事件在呈现图表之后触发。
myChart.Loaded += myChart_Loaded;
private void myChart_Loaded(object sender, RoutedEventArgs e)
{
// chart is rendered
}
答案 1 :(得分:0)
我在查看文档时发现了这个:https://lvcharts.net/App/examples/v1/wpf/Events
它将 Chart.UpdaterTick
列为事件之一。当图表完成加载数据并将其呈现在屏幕上时,事件似乎会触发,我相信您在寻找什么?
我已经对自己进行了测试,并且似乎按预期工作。