下面是我对DispatcherTimer的声明和方法:
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;
} 这就是我所谓的:
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代码:
<TextBlock Name="Duration" Text="{Binding}" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24"></TextBlock>我正在制作一个语音记录应用程序,我希望每次用户按下捕获显示一个计时器。我这里的问题是我不能重置它
发布于 2014-11-28 01:41:06
当您按下捕获按钮时,您需要(重新)设置您的SpanTime。只管去做
SpanTime = new TimeSpan();它应该重置为零,并重新开始,直到您再次按下按钮。
发布于 2014-11-28 01:31:06
调用Stop(),然后调用Start()应该会重新启动计时器间隔。
https://stackoverflow.com/questions/27176097
复制相似问题