C# Winforms Livecharts:当CartesianChart渲染完成时触发事件

3

我正在使用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何时完成渲染?我找不到任何事件或其他东西。
2个回答

0
我在查看文档时发现了这个页面:https://lvcharts.net/App/examples/v1/wpf/Events 其中列出了Chart.UpdaterTick作为事件之一。该事件似乎在图表完成加载数据并在屏幕上渲染后触发,我认为这正是你要寻找的内容?
我已经测试过了,它的效果符合我的预期。

-1

有一个CartesianChart.Loaded事件,在图表渲染后触发。

myChart.Loaded += myChart_Loaded;

private void myChart_Loaded(object sender, RoutedEventArgs e)
{
    // chart is rendered
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接