次のコードを使用して、 TextBox.Textを更新して、1 秒の内部で 1 から 10 まで表示しようとしました。Thread.Sleep(1000)はDispatcher.BeginInvokeによって作成された別のバックグラウンド スレッドに属している必要があるため、テキストが 10 に更新される前に UI 全体が 10 秒間スリープする理由がわかりません。
コードの何が問題になっていますか?
Thread t1 = new Thread(new ThreadStart(
delegate()
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
new Action(delegate()
{
for (int i = 1; i < 11; i++)
{
mytxt1.Text = "Counter is: " + i.ToString();
Thread.Sleep(1000);
}
}));
}));
t1.Start();