C# 如何为计时器作业创建可视化

C# 如何为计时器作业创建可视化,c#,silverlight-5.0,C#,Silverlight 5.0,在我的SL应用程序中,我有一个DispatchTimer,它定期刷新屏幕上的数据。我想为用户创建一个可视化视图,以显示下次刷新的时间 我的第一个想法是将计时器(目前每20秒运行一次)改为每毫秒运行一次,每次滴答声都会更新一个ProgressBar,然后倒计时,直到20秒结束,以运行主更新方法 但我无法摆脱一种感觉,那就是可能有更好的方法来做到这一点。这感觉很重 有更好的方法吗?程序条的想法并没有那么糟糕。每一毫秒或每一个滴答声都要经常更新。每秒10次就足够了 我会制作一个动画进度条,在到达终点时

在我的SL应用程序中,我有一个
DispatchTimer
,它定期刷新屏幕上的数据。我想为用户创建一个可视化视图,以显示下次刷新的时间

我的第一个想法是将计时器(目前每20秒运行一次)改为每毫秒运行一次,每次滴答声都会更新一个
ProgressBar
,然后倒计时,直到20秒结束,以运行主更新方法

但我无法摆脱一种感觉,那就是可能有更好的方法来做到这一点。这感觉很重


有更好的方法吗?

程序条的想法并没有那么糟糕。每一毫秒或每一个滴答声都要经常更新。每秒10次就足够了

我会制作一个动画进度条,在到达终点时重置。 最简单的方法是创建两个矩形,一个在另一个的顶部,并使用不同的颜色。 将顶部的宽度从0设置为进度条的长度。 您可以通过创建一个属性来控制它,该属性指示动画应该持续多长时间。 可能还有一些与刷新操作同步的启动方法


编辑。msdn上有一个示例(示例部分)

这是我的另一个想法。但是为什么要经历创建矩形的麻烦呢?我可以使用一个普通的进度条——至少在理论上,我可以通过操纵
progress
属性来创建动画?是的,我认为这是可能的。我编辑了我的答案。这看起来不错。我唯一的问题是。。。当使用MVVM编程模型时,我如何连接它?模型具有计时器并执行更新。设置包含“刷新前的时间”百分比的属性很容易。但是,我不太确定如何在UI上触发动画。我承认-我以前从未玩过由模型触发的动画。