添加Silverlight控件而不阻止ui

时间:2009-11-10 12:06:28

标签: silverlight user-interface

如何在不阻止用户界面的情况下将控件添加到Silverlight Grid控件。 我正在创建一个复杂的Chart控件,当我调用myGrid.Children.Add(myChart)时,整个页面被阻止而没有响应。 任何想法的人?

2 个答案:

答案 0 :(得分:2)

你可以尝试一些事情:

  1. 包裹您的电话,在Dispatcher.BeginInvoke([添加图表])中添加图表。这将导致图表在当前的UI工作完成之前不会被添加,并且可能有助于它更具响应性。
  2. 将没有任何数据的图表添加到UI。然后在后台加载数据并使用绑定将数据呈现在图表中。
  3. 尝试弄清楚如何分解复杂的图表。所以也许您可以先添加图表,然后添加其他一些项目。
  4. 在添加图表之前,请确保已加载图表的数据。我假设你已经这样做了,但只想仔细检查。
  5. 这是我唯一的想法。

答案 1 :(得分:0)

您是否测试过这是XAML渲染问题还是实例化导致阻塞的图表控件?

将图表的可见性设置为折叠并将其添加到网格时会发生什么?显然你不会在UI上看到它,所以你需要通过调试逐步完成它,或者只需在调用Add(myChart)之前和之后弹出一个MessageBox。

如果是图表的XAML渲染,我会深入了解图表控件的XAML并寻找优化(如果可以,这是什么图表控件?)。