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
'C# WPF' 카테고리의 다른 글
C# WPF 그래프 그리기(시간복잡도 그래프) (0) | 2013.11.28 |
---|---|
C#, WPF 점선그리는 법 (0) | 2013.11.27 |
C# WPF 카드게임(Memory Card Game) (0) | 2013.11.22 |
C# WPF SnakeBite Game (0) | 2013.11.21 |
C#에서 실행시간 체크 (0) | 2013.11.21 |