2013-10-18 2 views
1

Wpf Window/winForms에는 끊임없이 호출되는 이벤트가 있습니까? WindowReady()와 같이WPF windows 런타임 이벤트

내 창을 숨기고 싶지만 바인드 할 수없는 비 관련 작업에서 값을 변경하는 기능이 있는지 확인하고 싶습니다. 내 현재 절차는 이벤트를 호출하는 타이머를 실행하고 있지만 이것은 해킹처럼 보입니다.

의견을 보내 주셔서 감사합니다.

+1

이벤트가 발생하거나 이벤트가 발생했을 때 호출되는 이벤트입니다. "변수 변경"을 수행하고 MVVM과 같은 모델을 사용하면 변수 값의 변경 사항을 추적하고 이벤트를 발생시키는 데 도움이됩니다. 그렇지 않으면 타이머의 문제가 나쁘지 않거나 Variable 속성의 set 메소드를 사용하여 Event를 첨부하는 것이 좋습니다. –

+2

무엇을하려고합니까? '바인딩 할 수없는 작업'이란 무엇입니까? 외부 서비스 또는 데이터베이스를 폴링하려고하십니까? 백그라운드 작업이 값을 변경하거나 이벤트를 발생시킬 때 알림을 받습니까? 폴링을위한 타이머를 사용하는 것은 자연스러운 해결책이며, Idle 이벤트를 사용하면 해킹이 일어납니다. –

+0

마우스가 놓여있는 곳과 그 위치에 초점을 두면서 상대방의 위치를 ​​추적하려고합니다. 내 문제는이 추적하고있는 프로그램의 주 스레드를 수정하려면 타이머를 사용할 때 주 스레드 변수 (일명 "this.val") 액세스 할 수 있도록 백그라운드 스레드에서이 이벤트를 실행합니다. – IntriquedMan

답변

0

끊임없이 호출되는 이벤트는 사용자 환경에서 발생하는 상황에 따라 달라집니다. UI 동작이 일정한 경우 Activated 이벤트는 거의 항상 발생합니다. 이것은 매우 편리 할 수 ​​있습니다. 그러나 워치 독과 같은 무언가를 말하는 경우 타이머는 거의 기본 개념입니다.

0

Application.Current.Dispatcher.Invoke()에 대해 읽을 수 있지만 타이머는 더 자세하게 추측 할 수 있습니다.