실버 라이트 앱에 일정 기간 후에 화면을 잠궈 야하는 자동 잠금 기능이 있습니다. 문제는 앱이 잠긴 경우에도 열린 대화 상자가 열린 상태로 유지된다는 것입니다.Silverlight 앱에서 열린 대화 상자는 어떻게 닫습니까?
이 대화 상자를 프로그래밍 방식으로 닫으려면 어떻게해야합니까?
실버 라이트 앱에 일정 기간 후에 화면을 잠궈 야하는 자동 잠금 기능이 있습니다. 문제는 앱이 잠긴 경우에도 열린 대화 상자가 열린 상태로 유지된다는 것입니다.Silverlight 앱에서 열린 대화 상자는 어떻게 닫습니까?
이 대화 상자를 프로그래밍 방식으로 닫으려면 어떻게해야합니까?
내 실버 라이트 앱에서 열린 대화 상자를 닫으려면 다음 코드 스 니펫을 사용합니다.
UIElement ui = App.Current.RootVisual;
foreach (var popup in VisualTreeHelper.GetOpenPopups())
{
if (popup != null)
{
System.Windows.Controls.ChildWindow dialog = popup.Child as System.Windows.Controls.ChildWindow;
if (dialog != null)
{
dialog.DialogResult = false;
dialog.Close();
}
}
}
이것은 Silverlight 4 이상에서만 작동합니다.
는이 같은를 추가해야합니다 :
dialog.DialogResult = false;
dialog.Close();
여기서의 특정 문제는 대화 상자의 실제 닫는 것이 아니라 대화 상자에 대한 참조를 찾는 것이다. 먼저 VisualTree에서 찾아야 할 점은 그 점을 닫으면 설명 된 것과 똑같이 작동한다는 것입니다. – gyurisc
는'DialogResult' 설정하고 (가까운 애니메이션 경우) Close'이 비활성화로 응용 프로그램을 표시 할 수 있습니다'호출합니다. 이걸 막기 위해 하나만 사용하십시오 ... – Tonio
@ 토니 오가 코멘트 주셔서 감사합니다. 나는 이것을 체크 할 것이다 ... – gyurisc