0

次のコードがありTabResultadoBusquedaますDatagrid

私の問題は、このウィンドウの 1 つのボタンをクリックすると、操作が完了するまでフリーズすることです。

Datagrid操作を実行する時間は1分なので、ロード中にユーザーが他のことをできるようにしたいと思います.

Click1 つのコード イベントの例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();

        }

どんな助けでもいいでしょう。

4

1 に答える 1

0

別のスレッドで長時間実行される操作を実行します。これにより、UI スレッドのブロックが解除され、応答性が維持されます。BackgroundWorkerあなたの状況に適しているようです。ここでそれについて読んでください http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

于 2013-01-04T18:57:11.983 に答える