0

似乎有一些类似于txtBox.Text.Refesh()Windows Phone 的命令?

4

1 回答 1

0

在我给出答复之前......正如 HighCore 在评论中所建议的那样——你可能做错了——你可能应该改变你的工作方式以更好地适应框架。那说..

您可以通过多种方式做到这一点,但这里有两种相当简单的方法。

  1. 选项1:花哨的方式。

下载并安装异步 CTP。这将允许您使用 async/await 语义。

做这样的事情:

async void Button_Click()
{
for (int i = 0; i < 100; i++)
{
textbox.Text = i.ToString();
await Task.Delay(1000);
}
}
  1. 选项 2:Good'ol 方式。

如果您不想安装异步 CTP,请按以下方式重构代码:

void Button_Click()
{
  int i = 0;
  var t = new DispatcherTimer();
  t.Interval = TimeSpan.FromSeconds(1);
  t.Tick += (s, e) => { textbox.Text = i.ToString; i++; if (i == 20) t.Stop(); };
  t.Start();
}

请注意,当此代码运行时,您的应用会保持响应状态,这意味着人们可能会激活您不希望他们激活的代码。

于 2013-04-10T12:03:03.663 回答