我正在使用DispatcherTimer
在觸發攝像機上的釋放之前執行倒計時。方法UpdateCountdown
用於在相機觸發之前更改顯示給用戶的圖像。方法不是立即執行TakePicture
方法,而是在計數器達到零並顯示最後一個圖像後,我想稍微延遲一點。如何在倒數計時器後添加延遲
下面顯示的代碼導致暫停發生在_countdown = 1
點。雖然最終的圖像顯示和TakePicture()
幾乎同時發射(我認爲TakePicture
首先發生)。
_countdownTimer = new DispatcherTimer();
_countdownTimer.Interval = TimeSpan.FromSeconds(1);
_countdownTimer.Tick += new EventHandler(delegate(object s, EventArgs a)
{ UpdateCountdown(); });
_countdownTimer.Tick += new EventHandler(delegate(object s, EventArgs a)
{if (_countdown == _countdownMax)
{
System.Threading.Thread.Sleep(2000); // Slight delay before taking picture
Camera.TakePicture();
} });
}
public void StartCountdown()
{
if (doCount)
{
doCount = false;
UpdateCountdown();
_countdownTimer.Start();
}
}
private void UpdateCountdown()
{
_countdown--;
CountdownImage = _countDownImages[_countdown]; // Data bound to Image Control
if (_countdown == 0)
{
_countdown = _countdownMax;
_countdownTimer.Stop();
doCount = true;
}
我沒有考慮到我的時機?
好點,我想我是從這個配置開始的。 – pdemarest 2009-12-09 14:16:50