我是 Windows Phone 开发的新手,我正在尝试做一些我认为非常简单的事情:我有一个页面,带有一个按钮和一个 textBlock。我希望,每当按下按钮时,textBlock 的文本都会更改为“Bazinga!” 几秒钟,然后恢复到之前的值。
我已经尝试了下面的代码,但它不起作用(我想是因为 textBlock 的显示在仍在 Button_Click 调用中时没有刷新)。
在查找了几个关键字后,我看到了:WPF not updates textbox while in progress
这告诉我我必须显式调用 Dispatcher 的 Invoke 方法……但我只看到一个 BeginInvoke() 方法(我猜这是 Windows Phone 的特殊性),而且我几次尝试使其正确都不太走运。
感谢您提供的任何帮助
private void Button_Click(object sender, RoutedEventArgs e)
{
this.Function();
}
private void Function()
{
string text = this.TextBlock1.Text;
DateTime until = DateTime.Now.AddSeconds(5.0);
this.TextBlock1.Text = "Bazinga!";
while (DateTime.Now < until)
{
// Do nothing
}
this.TextBlock1.Text = text;
}