Ich möchte grundsätzlich ein Dispatcher-Timer-Objekt nur einmal ausgeführt werden. SoDispatcherTimer Tick einmal
Ich habe den grundlegenden Code:
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 4);
dispatcherTimer.Start();
dann in der Click-Ereignis:
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
this.Visibility = System.Windows.Visibility.Visible;
// Now stop timer execution.. or kill the timer object
}
Wie kann ich den Timer oder abtöten, das Objekt nach dieser Ausführung stoppen?
konnte nicht der Garbage Collector des Timers vor dem Ereignis ausgelöst wird loszuwerden? – Cameron
@Cameron, nein, weil Timer jetzt auf die anonyme Funktion verweist, daher kann keine Garbage Collections gesammelt werden. –
Richtig, aber wer hat sonst noch einen Hinweis auf diese anonyme Funktion? Könnte das nicht auch gesammelt werden? – Cameron