6

からのデータを使用して、に表示するプロジェクトが Entity FrameworkありますWPF。Entity Frameworkがプレゼンテーション層でデータをロード/保存するときに、スレッド化されたプログレスバーを表示したい。

どうすればそれができるのか理解するのを手伝ってくれませんか。

4

2 に答える 2

4

/メソッドを使用してそれを行うためのこのきちんとした例を見つけました。基本的に、次のラウンドでxのレコードをロードし、テーブル内のすべてのデータの量からこれを計算します。これにより、各ラウンドのプログレスバーを更新できます。SkipTakeSkip

これを見てください:

List<MyDataTable> someData = new List<MyDataTable>();
int rowCount = dt.myDataTable.Count();

//TODO: <= display a progress bar here, and set max to rowCount...

int currentRows = 0;
while (currentRows < rowCount)
{
  someData.AddRange(dt.myDataTable.Skip(currentRows).Take(10000).ToList());
  currentRows = someData.Count;

  //TODO: <= update progress here...

}
于 2012-09-10T05:06:03.427 に答える
1

これを実現するには、ディスパッチャスレッドを使用できます。基本的に、他のUIクラスで拡張される共通クラスを作成する必要があります。

これを実現するために、ここで基本的な例を見ることができます。より正確な例とダウンロード可能なコードは、こちらから入手できます。

于 2012-09-10T04:57:28.237 に答える