我的问题是我只能测量加载控件并开始在屏幕上进行绘制的时间,但是由于动画效果(例如点淡入),渲染需要更多时间.
有没有机会我可以设置一些自动检测渲染何时结束的方法?我的问题是我只发现Silverlight Framework元素上的Loaded事件处理程序挂钩,只有在渲染开始时才会通知.
我目前用于Silverlight Control Toolkit的示例代码如下:
public voID Init(){ Chart chart = new Chart(); // Init chart object DataPointSerIEs serIEs; (...)// Init serIEs,add lots of points,set data binding Chart.SerIEs.Add(serIEs); // Add serIEs to chart chart.Loaded += new RoutedEventHandler(Chart_Loaded); LayoutRoot.Children.Add(chart); StartTimer(); // Start timer and wait for control to load}public voID Chart_Loaded(object sender,RoutedEventArgs e){ StopTimer(); // Problem: rendering just started at this point,hasn't finished yet!}解决方法 我找到了一些图表库和其他一些图表库的解决方法.以下是我可以联系的事件,以获得真实的测量时间:
Dundas图表:
Chart chart;Chart.ImageReady += new ImageDownloaded(Chart_ImageReady); // Stop timer at this event
Silverlight工具包:
Chart chart;DataPointSerIEs serIEs;Chart.SerIEs.Add(serIEs);Chart.SerIEs[0].Loaded += new RoutedEventHandler(Chart_Loaded); // Stop timer at this event
Steema TeeChart:
TChart chart;chart.AfterDraw += new PaintChartEventHandler(chart_AfterDraw); // Stop timer at this event
Telerik RAD图表:
RadChart chart;chart.defaultview.ChartArea.Loaded += new RoutedEventHandler(Chart_Loaded); // Stop timer at this event
的Visifire
Chart chart;chart.AnimationEnabled = false; // Turn off animationchart.Loaded += new RoutedEventHandler(Chart_Loaded); // Stop timer at this event
唯一一个我无法与正确时间发生的事件挂钩的图书馆是Infagristics Netadvantage.
总结以上是内存溢出为你收集整理的测量Silverlight图表加载时间全部内容,希望文章能够帮你解决测量Silverlight图表加载时间所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)