C# WPF delay 주는 방법
WPF에서는 delay를 줄 때, 다음과 같이 합니다. 그냥 Thread.Sleep()을 사용하면 delay가 적용되지 않습니다. Dispatcher가 Repaint 작업을 큐에 넣어 두기 때문이랍니다.
private void checkMatch(card fCard, card sCard)
{
TimeSpan interval = new TimeSpan(0, 0, 2);
if (fCard.num % 13 == sCard.num % 13)
{
cardOpened[fCard.num] = true;
cardOpened[sCard.num] = true;
}
else
{
this.Dispatcher.Invoke( (ThreadStart)(() => { }), DispatcherPriority.ApplicationIdle);
Thread.Sleep(1000);
DrawCard(fCard.row, fCard.col, fCard.num, false);
DrawCard(sCard.row, sCard.col, sCard.num, false);
}
}
http://blog.naver.com/techshare/100071407238 를 참조하세요
WPF - Threading Model
; http://msdn.microsoft.com/ko-kr/library/ms741870(VS.85).aspx
[출처] WPF - UI 업데이트를 바로 반영하고 싶다면?|작성자 techshare
BeeEye Dmu