Queste sono le mie dichiarazioni e metodi di DispatcherTimer:Come resettare un 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;
}
Questo è dove lo chiamo:
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";
}
}
e qui è il mio codice XAML per mostrare il timer:
<TextBlock Name="Duration" Text="{Binding}" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24"></TextBlock>
Sto facendo un'app di registrazione vocale e voglio che ogni volta che l'utente preme la cattura per mostrare un timer. Il mio problema qui è che non posso resettarlo
Non capisco davvero questo downvote. certo di non aver risposto al suo titolo di domanda. ma nella sua descrizione sembra che voglia reimpostare il tempo mostrato per l'utente. quindi suppongo che la mia risposta sia quello che cercava – chrosey
in realtà funziona .. Grazie uomo –
Felice di poter aiutare;) – chrosey