例如,我创建了一个包含大量形状的 Canvas,如下所示:
var canvas = CreateCanvasThatContainsShapes();
然后我将所有画布添加到主页:
layoutRoot.Content = canvas;
这两行代码运行所需的时间并不多,但是所有形状都需要一段时间才能显示在屏幕上,并且 UI 会在一段时间内无响应。
在 WPF 中,我可以通过执行以下操作来测试可视化树的渲染时间:
//create logic tree and add it to main page
stopWatch.Start();
Dispatcher.BeginInvoke(new Action(()=>{
stopWatch.Stop();
//Show the ellipsed time
}),DispatcherPriority.Loaded);
这样,秒表在创建逻辑树后启动,并在渲染(加载)可视化树后停止。
但是在silverlight中,没有DispatcherPriority,那我该怎么做类似的事情呢?
谢谢