0

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

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

请帮忙。

4

1 回答 1

0

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

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

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

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

HTH。

于 2010-11-06T10:54:00.513 回答