2009-05-23 18 views
1

ProgressBarを表示して、Webサービス呼び出しの進行状況を表示できますか? 私はSQLデータベースを呼び出すWebサービスを使用しており、必要に応じて、要求されたデータのリストを返します。Webサービス呼び出しのWPF ProgressBar

Webサービスのコードデータがロードされる前に

void Window1_Loaded(object sender, RoutedEventArgs e) 
    { 
     dg_sql_data.ItemsSource = CMainFrameConnection.GetAllLocationsByUserID(0); 
    } 

は現在、それは約5〜10秒かかり

public List<LocationUpdate> GetAllLocationsByUserID(int UserID) 
    { 
     MainframeConnectionDataContext db = new MainframeConnectionDataContext(); 
     var validLocations = from query in db.LocationUpdates select query; 
     return validLocations.ToList(); 
    } 

クライアントコード。

すべてのアイデア?

  • rAyt

答えて

4

あなたは、おそらくどのくらい離れているか操作して伝えることができないとして、プログレスバーは、ここで適切ではないかもしれません。何らかの種類の「読み込み」アニメーションを表示する方が適切かもしれません。

ここで使用できるアニメーション例http://www.ajaxload.info/

EDIT:Dreasが指摘しているように、これを処理するには、IsIndeterminateを設定するのが良い方法です。

+0

良いアイデアは正しい方向に向いていますが、Webサービスを非同期的に呼び出すと、プログレスバーが可能になるはずです。 –

+1

はい、非同期呼び出し中にプログレスバーを表示してアニメーションすることは可能ですが、問題は、操作の距離がわからないために進行状況バーを正確にすることができないためです。進捗バーのアニメーションを単にループして空になったら空にして、もう一度いっぱいにして「何か」が起きていることを示すことができます。その場合は –

+3

、IsIndeterminate = "True" –

関連する問題