Wpf datagrid不刷新动态

时间:2013-01-04 16:39:59

标签: wpf multithreading datagrid

我有以下代码,其中TabResultadoBusquedaDatagrid

我的问题是,当我点击此窗口的一个按钮时,它会冻结,直到操作完成。

我希望用户在Datagrid加载时可以做其他事情,因为执行操作的时间是1分钟。

一个Click中的示例代码事件Button

 TabResultadoBusqueda.ItemsSource = null;
 TabResultadoBusqueda.ItemsSource = (IEnumerable<articuloPOCO>)cambioDeArticuloListaAArticuloPOCOlista(m.todosArticulosPAGINADOS(0, 50));

           TabResultadoBusqueda.Dispatcher.BeginInvoke(DispatcherPriority.Background,
                     new Action(
                         () => aaaa1()
                                  )

                 );

aaaa1的代码:

for (int j = 2; j < 15; j++)
        {
            ((List<articuloPOCO>)TabResultadoBusqueda.ItemsSource).AddRange((IEnumerable<articuloPOCO>)cambioDeArticuloListaAArticuloPOCOlista(m.todosArticulosPAGINADOS(j, 50)));
            TabResultadoBusqueda.Items.Refresh();

        }

任何帮助都会很好。

1 个答案:

答案 0 :(得分:0)

在单独的线程上执行长时间运行操作。这将使您的UI线程保持畅通无阻且响应迅速。看起来BackgroundWorker对你的情况有好处。在此处阅读http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx