Hi,
I've created a UserControl with an UltraChart within. I use custom axis labels, but they are not refreshed to the calculated values until I hover inside the chart and leave it. The chart property LabelHash already have the correct values before displaying it, but until I do the enter/leave action, labels are displaying the default values.I've tried to Refresh or Invalidate the chart, and also tried to programatically simulate the enter/leave action or trigger OnMouseEnter/OnMouseLeave events.
Is there any way to programatically force the refreshing of the Axis Labels?
Thanks in advance.
Hello Eduard,
Thank you for posting in our forums! First I would like grab your attention that you are using UltraChart which is our old chart control. The UltraDataChart is our newer chart control we have developed, UltraDataChart and its feature provides high performance for plotting tens of thousands of data points and updating the chart every few milliseconds in order to handle your real-time feeds. You can find examples of the UltraDataChart here:
UltraDataChart Samples
As for binding your data to the chart, please see the following documentation links:
Data Topics for the UltraChart
Data Topics for the UltraDataChart
Regarding your issue with UltraChart there may be a bug in the control or issue in your code.
If you still willing to use UltraChart then the best way to assist you if you can share your isolated sample which I can use to reproduce the issue and debug the code.
If you need further assistance with this, please let me know.
Regards,
Hello Divya,Thanks for your help. I've been using the UltraChart as an interactive soundwave control for 2 years and I'm quite satisfied, but I'll consider migrating to UltraDataChart.Regarding the issue, I've found the solution. I was using only the FillSceneGraph event, and looked like that until there is not some interaction, is not refreshed. What I did to solve it is to call the SetStartLabel() function before drawing the chart, and then the value of the labels is the same before and after refreshing.
private void ultraChartSoundwave_FillSceneGraph(object sender, Infragistics.UltraChart.Shared.Events.FillSceneGraphEventArgs e) { if (e.Grid.Count == 0) return; if (_bNeedRepaint) { _LabelRenderer.SetStartLabel(timeLabelMs); _bNeedRepaint = false; } _LabelRenderer.counter = -1; }