2014-08-27 14 views
2

둘 다 웹 브라우저에서 실행되는 XBAP 부분을 사용하는 WPF 응용 프로그램을 개발 중입니다. 둘 다 Caliburn.Micro 프레임 워크를 사용합니다.웹 브라우저에서 XBAP 브라우저 응용 프로그램이 닫히는 것을 방지하는 방법

활성 창에서 일부 데이터가 수정되고 사용자가 저장을 누르지 않은 즉시 응용 프로그램이 사용자가이를 닫을 수 없도록하는 요구 사항이 있다는 점을 제외하면 구현 및 배포에는 아무런 문제가 없습니다.

데스크톱 응용 프로그램에서는 자신이 Window.Closing 콜백의 일부인 Caliburn의 CanClose 메서드를 재정의하기 만하면됩니다. 이 콜백이 실행되고 필요한 경우 CancelEventArgs.Cancel을 설정할 수 있습니다.

XBAP 응용 프로그램에서 Application.Current.MainWindow는 RootBrowserWindow이며 Closing 및 Closed 이벤트가 구독되는 경우 콜백이 정적 메서드 인 경우에도 호출되지 않습니다. (여기서는 Caliburn.Micro 코드를 테스트 용으로 수정합니다.).

제 질문은 사용자가 탭 또는 전체 브라우저 창을 닫으려고 할 때 Internet Explorer에서 실행되는 WPF XBAP 브라우저 응용 프로그램이 닫히지 않도록 방지하는 방법입니다. 응용 프로그램 신뢰는 문제가되지 않습니다. 우리는 클라이언트에게 응용 프로그램에 대한 전적인 신뢰를 제공 할 수 있습니다.

+0

는 XBAP 브라우저 응용 프로그램을 의미합니까?의 ClickOnce 응용 프로그램 데스크톱 응용 프로그램 ... –

+0

@DeanK 있습니다. 예 그는 않습니다, 또는 그는 탐색기 처리되지 않을 것이며, 반드시 이러한 문제 : –

+1

미안 해요 XBAP 브라우저 앱을 의미합니다. – too

답변

1

불편을 끼쳐 드려 죄송합니다. IExplorer 제한 사항. 심지어 창이 최소화되어 있는지 확인하고 XBAP 응용 프로그램에서 특정 키 조합조차도 허용되지 않는지 확인할 수 없습니다. 완전 신뢰 여부, IE의 문제 :(

나는 내가 기억하는 것과 아무 소용이 interop에 물건을 많이,했다, 같이 3 ~ 4 년 전에 같은 문제를 thinkered, + 어떤 키 바인딩.

건배

스티

+1

"guard"탭을 열어두고 window.onbeforeunload (가능한 경우)를 청취하면서 JavaScript를 사용하고 XBAP를 다른 탭에서 열어 볼 생각을하고있었습니다. IE 가드 탭의 IHTMLDocument에 액세스하기위한 XBAP 앱의 목표는 사용자가 언급 한 것처럼 많은 interop 없이는 도달 할 수없는 것 같습니다. – too

+1

XBAP, WPF 및 SL 베테랑의 조언. 모든 것을 함께 스크랩하십시오 (XBAP)! 특정 타사 공급 업체가 지원을 중단했습니다. WPF 및 SL을 좋아하지만 자발적으로 XBAP 응용 프로그램을 만들지는 않습니다. 거기에 더 나은 크로스 플랫폼 솔루션이 있습니다. 어, PresentationHost.exe라는 단어는 나에게 악몽을 꾼다.) 오래된 기술인 ActiveX 2.0은 실패했다. 그리고 interop에 관한 귀하의 질문에 대해, 여기에서도 많은 분야에서 차단됩니다. –

+1

XBAP을 사용하여 기본 데스크톱 응용 프로그램 외에도 사용자 편의를 위해 설치하지 않고 Windows 응용 프로그램을 배포합니다 (XBAP 게시 버전 문제를 겪어 왔으며 자동으로 업데이트하고 작동하도록 만드는 것은 정말 악몽입니다). 어떤 크로스 플랫폼 솔루션을 염두에두고 있습니까? Windows 만 지원하면됩니다. – too