Wpf Window/winForms에는 끊임없이 호출되는 이벤트가 있습니까? WindowReady()와 같이WPF windows 런타임 이벤트
내 창을 숨기고 싶지만 바인드 할 수없는 비 관련 작업에서 값을 변경하는 기능이 있는지 확인하고 싶습니다. 내 현재 절차는 이벤트를 호출하는 타이머를 실행하고 있지만 이것은 해킹처럼 보입니다.
의견을 보내 주셔서 감사합니다.
Wpf Window/winForms에는 끊임없이 호출되는 이벤트가 있습니까? WindowReady()와 같이WPF windows 런타임 이벤트
내 창을 숨기고 싶지만 바인드 할 수없는 비 관련 작업에서 값을 변경하는 기능이 있는지 확인하고 싶습니다. 내 현재 절차는 이벤트를 호출하는 타이머를 실행하고 있지만 이것은 해킹처럼 보입니다.
의견을 보내 주셔서 감사합니다.
끊임없이 호출되는 이벤트는 사용자 환경에서 발생하는 상황에 따라 달라집니다. UI 동작이 일정한 경우 Activated 이벤트는 거의 항상 발생합니다. 이것은 매우 편리 할 수 있습니다. 그러나 워치 독과 같은 무언가를 말하는 경우 타이머는 거의 기본 개념입니다.
Application.Current.Dispatcher.Invoke()에 대해 읽을 수 있지만 타이머는 더 자세하게 추측 할 수 있습니다.
이벤트가 발생하거나 이벤트가 발생했을 때 호출되는 이벤트입니다. "변수 변경"을 수행하고 MVVM과 같은 모델을 사용하면 변수 값의 변경 사항을 추적하고 이벤트를 발생시키는 데 도움이됩니다. 그렇지 않으면 타이머의 문제가 나쁘지 않거나 Variable 속성의 set 메소드를 사용하여 Event를 첨부하는 것이 좋습니다. –
무엇을하려고합니까? '바인딩 할 수없는 작업'이란 무엇입니까? 외부 서비스 또는 데이터베이스를 폴링하려고하십니까? 백그라운드 작업이 값을 변경하거나 이벤트를 발생시킬 때 알림을 받습니까? 폴링을위한 타이머를 사용하는 것은 자연스러운 해결책이며, Idle 이벤트를 사용하면 해킹이 일어납니다. –
마우스가 놓여있는 곳과 그 위치에 초점을 두면서 상대방의 위치를 추적하려고합니다. 내 문제는이 추적하고있는 프로그램의 주 스레드를 수정하려면 타이머를 사용할 때 주 스레드 변수 (일명 "this.val") 액세스 할 수 있도록 백그라운드 스레드에서이 이벤트를 실행합니다. – IntriquedMan