1

C# windows phone-如何让文本块显示 4 秒然后消失?

这就是我所拥有的:

    statusbox.Text = ("Loading...")TimeSpan.FromSeconds(05);
4

4 回答 4

2

只需启动DispatcherTimer之后清除文本:

DispatcherTimer timer = new DispatcherTimer();
timer.Tick += {
    statusbox.Text = "";
    timer.Stop();
};
timer.Interval = TimeSpan.FromSeconds(4);
timer.Start();

但是,如果它是为了指示正在加载的内容,为什么不在完成加载时清除状态文本?

于 2012-12-23T22:09:38.317 回答
0

您也可以为此执行动画。

于 2012-12-24T09:26:58.630 回答
0

我建议使用Scheduling Task,它比计时器好得多。您可以使用操作设置计划。

于 2012-12-24T03:05:21.830 回答
0

使用异步函数可以更好地解决这个问题:

// in .NET 4
await TaskEx.Delay(4000);
statusbox.Text = String.Empty;

这只是一个需要考虑的额外解决方案,因为它可以更容易地理解正在发生的事情。您需要为 Visual Studio 2010 使用Async CTP 3为 VS 2012 使用 Async 目标包。如果您使用的是 .NET 5(例如 WP8),您可以使用 Task.Delay 代替上述方法。

于 2012-12-24T00:01:40.113 回答