2011-06-27 16 views
1

ループ内からラベルの内容を更新するたびに、変更はすぐに複製されませんが、最終値のみが最後に表示されます。変更を即座に複製するにはどうすればいいですか?Silverlightで即時更新

for(int i=0; i<5; i++) { 
    label1.Content = x[i]; 
    Thread.sleep(100); 
} 

間に100 ms待機している間にラベル値を5回変更します。

+0

SLまたはASP.Netに追加しますか? – Nitesh

+0

silverlight 4.0 – mihsathe

答えて

4

メインのUIスレッド(独自のスレッドを開始していない限り)でこれを実行している場合、ループが完了するまでスレッドはUIを更新することができません。代わりにDispatcherTimerを使用し、Tickイベントのハンドラを登録し、イベントハンドラのラベルを更新します。そうすれば、ループ実行中にUIスレッドをロックすることはありません(Thread.Sleepを呼び出すときに実行しています)。

+0

どのようにするためのリンク? – mihsathe

+0

http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchertimer.aspx –

+0

入手済みです。ありがとう。 – mihsathe

関連する問題