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

时间:2019-04-05 12:59:36

标签: c# winforms livecharts

我正在使用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 :(得分: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 列为事件之一。当图表完成加载数据并将其呈现在屏幕上时,事件似乎会触发,我相信您在寻找什么?

我已经对自己进行了测试,并且似乎按预期工作。