2013-01-22 5 views
3

내 창고 앱에서 주어진 시간에 이벤트를 발생 시키려고합니다. 이제 데스크톱 앱에서 무수히 많은 시간을 보냈습니다. 과거에는 System.Threading.Timer을 사용했으나 제대로 작동했지만 클래스는 Windows 스토어 앱에서 사용할 수 없습니다.주어진 시간에 이벤트를 발생시키는 방법

설명서를 살펴본 결과 DispatchTimer이라는 클래스가 발견되었지만, 내가 틀린 것처럼 보였지만, 틀렸다면 문서를 수정해야하지만 문서가 부족합니다. 그러나 운 좋게 사용하기가 꽤 쉽습니다.

그래서 DispatchTimer을 사용해 보았습니다.하지만 사용 후, 이것이 내가 사용해야 할 것인지 확실하지 않습니다.

특정 시간 동안 시청하고 해당 시간이되면 (Windows 스토어 앱에서) 일정을 올리려면 어떻게해야합니까? 그리고 메트로 앱에서이 작업을 수행하는 모든 리소스를 알고 계십니까?

답변

2

DispatcherTimer은 갈 길입니다. 앱을 백그라운드에서 실행하려면 앱 매니페스트에서이를 선언하거나 백그라운드 에이전트를 사용해야합니다. 이 같은

3

사용 DispatcherTimer :

var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(10) }; 
timer.Tick += OnTimerTick; 
timer.Start(); 

private void OnTimerTick(object sender, object args) 
{ 
    // Do something with pickup here... 
} 

이 10 초 간격으로 타이머를 생성합니다.

+1

감사합니다. @Kristian, 개체를 OnTimerTick 이벤트에 매개 변수로 전달하는 방법은 무엇입니까? 그게 가능하니? 나는 우리가 확장 방법을 위해 그것을 할 수 있다는 것을 안다. – Arrow

+2

어떤 종류의 논쟁을하고 싶니? 어떤 경우에도 ['DispatchTimer.Tag'] (http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchertimer.tag.aspx) 속성을 사용할 수 있습니다. – khellang

+1

Pickup 유형의 객체를 전달해야하므로 시간이 경과하면 경보가 발생한 Pickup을 알 수 있습니다. 픽업은 주문 정보가 포함 된 클래스입니다. – Arrow

관련 문제