2010-11-05 74 views
0

我有一个WPF应用程序 - 使用MVVM设计模式。呈现UIElement导致应用程序挂起几秒钟

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

请帮忙。

回答

0

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

如果显示视图时数据尚未加载,则可以尝试延迟加载直到网格可见,加载数据并最终将代码隐藏的网格绑定设置为如下形式:

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

这会给gui一个在加载开始之前展现自我的机会。

HTH。

相关问题