【问题标题】:Render of UIElement Causes App To Hang For Several SecondsUIElement 的渲染导致应用程序挂起几秒钟
【发布时间】:2010-11-05 18:39:06
【问题描述】:

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

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

请帮忙。

【问题讨论】:

    标签: wpf devexpress rendering uielement


    【解决方案1】:

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

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

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

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

    HTH。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      相关资源
      最近更新 更多