Mam prostą aplikację, zawierającą element multimedialny i odtwarzającą niektóre filmy jeden po drugim. Chcę mieć 15-sekundową zwłokę między zatrzymaniem odtwarzania jednego filmu, a następnym uruchomieniem. Jestem nowy w WPF i choć wiem, jak to zrobić stary (WinForm) sposób z zegarem i kontrolą. Wywołanie, myślałem, że musi być lepszy sposób w WPF. Jest tu?Jaki jest najlepszy sposób pracy ze zdarzeniami sterowanymi czasowo w WPF
5
A
Odpowiedz
4
DispatcherTimer jest tym, czego potrzebujesz. W tym przypadku należy utworzyć DispatcherTimer z przerwą 15 sekund, rozpocząć pierwsze wideo. Następnie, po zakończeniu tego wideo włącz zegar, a na ekranie zaznaczenia pokazuj kolejne wideo i ustaw wyłącznik czasowy, aby nie uruchamiał się co 15 sekund. DispatcherTimer żyje w przestrzeni nazw System.Windows.Threading.
DispatcherTimer yourTimer = new DispatcherTimer();
yourTimer.Interval = new TimeSpan(0, 0, 15); //fifteen second interval
yourTimer.Tick += new EventHandler(yourTimer_Tick);
firstVideo.Show();
Zakładając, że zdarzenie opalane gdy film jest gotowy następnie ustawić
yourTimer.Enabled = True;
a następnie w obsługi zdarzeń yourTimer.Tick
private void yourTimer_Tick(object sender, EventArgs e)
{
yourTimer.Enabled = False;//Don't repeat every 15 seconds
nextVideo.Show();
}
to wykonać na wątku UI lub zrobić Muszę kontrolować. Wywołać jak z normalnym zegarem? –
dzięki, dokładnie tego potrzebowałem. –