渲染UIElement导致应用程序挂起几秒钟

时间:2010-11-05 18:39:06

标签: wpf devexpress rendering uielement

我有一个WPF应用程序 - 使用MVVM作为设计模式。

在主视图中,有一个ContentPresenter绑定到相应ViewModel中的属性。我对与该属性关联的数据类型具有类型引用DataTemplate。实质上,基于用户执行的某个操作,ContentPresenter将显示来自特定数据模板的数据。在数据模板中,我有DevExpress'GridControl。它很糟糕,我讨厌它,但由于公司标准,我必须使用它。我的主要难点在于,由于此GridControl,UI需要几个明显的秒才能呈现给数据模板。我能做些什么来减轻这种情况吗?我想显示一个“请稍候”的进度指示器,但即使这样也会卡住几秒钟......

请帮忙。

1 个答案:

答案 0 :(得分:0)

您是否正在加载此视图的数据异步?

如果在显示视图时尚未加载数据,您可以尝试延迟加载,直到网格可见,加载数据并最终在代码隐藏中设置绑定到网格,如下所示:

private delegate void LoadDelegate();
this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new LoadDelegate(LoadOrders));

这将使gui有机会在加载开始前展示自己。

HTH。