2012-08-29 5 views
0

사용자에게 경고해야하는 상황에 따라 레코드가 변경되었는지 여부를 확인해야하는 경우가 있습니다. 그래서 5 초마다 타이머를 사용하여 데이터베이스에서 확인하고 사용자에게 경고 창을 표시하려고합니다. 잘됐다.하위 창이 열렸는지 확인하는 방법

사용자가 오랫동안 유휴 상태 인 경우 문제가 발생합니다. 시간이 지남에 따라 여러 개의 경고창이 표시됩니다 (매 2 초마다 데이터 변경 고려).

경고 창이 이미 열려 있는지 알아야합니다. 열린 창에서 작업을 수행 할 수있는 방법을 알 수 있습니까?

여기서는 하나의 인스턴스를 만들고 싶지 않습니다. 실버 라이트에서 직접 할 수있는 방법이 있다면 알려주십시오.

+0

Silverlight에 익숙하지 않지만 사용자가 경고 창을 확인하면 페이지 변수를 설정하는 경고에 이벤트 처리기를 연결할 수 있습니까? 새 경고를 열기 전에 변수가 확인되었는지 확인하십시오. –

+0

매 5 초마다 알림 메시지가 표시된다고 했으므로 여기에 쓰레드를 사용하고 있습니까? – BreakHead

답변

0

응용 프로그램에서 하위 창을 싱글 톤으로 만들고 (비공개 멤버를 선언 한 다음) 적절히 열고 닫은 다음 인스턴스를 해제해야합니다 (null과 같음). 그 자리에 당신은 단지 당신의 "subwindow"가 null이 아닌지 확인해야합니다. 그렇지 않다면 당신은 인스턴스를 만들고 그것을 여는 것입니다.

+0

단일 instance.sorry를 만들고 싶지 않습니다. 내 질문에 언급해야합니다. – MSNetDev

0

Application.Current.Windows (응용 프로그램에서 생성 한 모든 창 포함)를 통해 열거 할 수 있습니다. 경고 창을 찾아 전경으로 가져 오거나 새 창을 만들 수 있습니다.

+0

우리는 Application.Current.Windows Option을 가지고 있지 않습니다. 네가 작동하지 않아. – MSNetDev

1

당신 (질문 Telerik 태그 때문에),

RadWindowManager.Current.CloseAllWindows(); 

을 시도하거나 더 많은 제어를해야하는 경우, 다음을 사용하여 현재 열려있는 창을 통해 반복 할 수 Telerik 윈도우를 사용하는 가정

RadWindowManager.Current.GetWindows() 
관련 문제