InvalidatePlot ... knowing when Rendering is completed. WPF (2014.1.546.0)

Mar 23, 2015 at 9:35 PM
I have a plot with a large number of points (>300000) and when I call, PlotView.InvalidatePlot(true), it takes a while to render. This is acceptable but I would like to put up an hourglass or some other indication that things will take a while. I'm having some problems though as I don't know when the Rendering is complete. I can't find an event that I can subscribe to. Is there one?

I call MyPlot.InvalidatePlot(true); from the main GUI thread. If my understanding is correct, InvalidatePlot works on another thread. Presumeably, it must get back on the GUI thread to actually plot data. I tried using the following:

Mouse.OverrideCursor = Cursors.Wait;
MyPlot.InvalidatePlot(true);
Mouse.OverrideCursor = null;

and other similar ideas but to no avail. I'm guessing that InvalidatePlot is a non blocking call. What I really need to do is switch to Cursors.Wait and then in some event, set the cursor back again. I was hoping for something like:

MyPlot.RenderingCompleted or some such thing. Can someone give me some pointers?

Regards,
Dave
Coordinator
Mar 24, 2015 at 11:18 PM
@csharpuser Note that this project has been moved to GitHub. Please add the feature request at the issues section there, or post in the discussion forum! Cheers!