首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重置DispatcherTimer?

如何重置DispatcherTimer?
EN

Stack Overflow用户
提问于 2014-11-28 01:23:22
回答 2查看 13.1K关注 0票数 12

下面是我对DispatcherTimer的声明和方法:

代码语言:javascript
复制
private DispatcherTimer DishTimer;
private TimeSpan SpanTime;
private void InitTimer()
{

    DishTimer = new DispatcherTimer();
    DishTimer.Interval = new TimeSpan(0, 0, 0, 1);
    DishTimer.Tick += TimerOnTick;

}
private void TimerOnTick(object sender, object o)
{
    SpanTime = SpanTime.Add(DishTimer.Interval);
    Duration.DataContext = SpanTime;
}        

这就是我所谓的:

代码语言:javascript
复制
private void CaptureButton_Click(object sender, RoutedEventArgs e)
{
    if ((string) CaptureButton.Content == "Capture")
    {

        CaptureAudio();
        InitTimer();
        DishTimer.Start();

        ProgressRing.IsActive = true;
        CaptureButton.Content = "Stop";
    }
    else
    {
        StopCapture();
        DishTimer.Stop();
        ProgressRing.IsActive = false;
        CaptureButton.Content = "Capture";
    }

}

下面是我用于显示计时器的xaml代码:

代码语言:javascript
复制
<TextBlock Name="Duration" Text="{Binding}"  HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24"></TextBlock>

我正在制作一个语音记录应用程序,我希望每次用户按下捕获显示一个计时器。我这里的问题是我不能重置它

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-28 01:41:06

当您按下捕获按钮时,您需要(重新)设置您的SpanTime。只管去做

代码语言:javascript
复制
SpanTime = new TimeSpan();

它应该重置为零,并重新开始,直到您再次按下按钮。

票数 9
EN

Stack Overflow用户

发布于 2014-11-28 01:31:06

调用Stop(),然后调用Start()应该会重新启动计时器间隔。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27176097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档