2016-06-14 19 views
0

브라우저에서 WinForm 스마트 클라이언트 데스크톱 응용 프로그램을 실행해야합니다. 다음 기사에서는 WPF 브라우저 응용 프로그램 (XBAP)에서 WinForm을 호스팅하는 방법에 대해 설명합니다.브라우저에서 실행하기 위해 스마트 클라이언트를 XBAP로 변환

http://www.codeproject.com/Articles/31429/Embedding-a-NET-WinForms-Application-in-an-Interne

그러나 우리의 응용 프로그램은 스마트 클라이언트 아키텍처 (스마트 클라이언트 소프트웨어 공장 - 지침 패키지)을 기반으로합니다. 따라서 양식 작성 및 표시를 제어 할 수 없습니다. 누구든지 WPF 브라우저 기반 응용 프로그램에서 스마트 클라이언트를 호스팅하는 데 필요한 세부 정보를 공유 할 수 있습니까?

답변

0

마지막으로이 문제를 해결할 수있는 해결 방법이 있습니다.

재정의 셸 폼을 실행하는 WindowsFormsApplication 클래스의 시작 메서드입니다. 그러나 이것은 형태의 또 다른 문제를 처리하게한다. CabApplication.Run 메서드는 내부적으로 Start 메서드를 호출 한 다음 폼이 닫히면 폼을 삭제합니다. Start 메서드에서 폼을 표시하지 않으므로 바로 처리 할 수 ​​있습니다.

이 문제를 극복하기 위해 SCSF 프레임 워크에서 Run 메서드의 호출을 처리하고 응용 프로그램에서 처리했습니다. 프레임 워크를 변경하는 것이 좋은 생각인지 잘 모르겠지만 그것은 나를 위해 일했습니다.

XBAP 응용 프로그램에서 Shell 개체를 가져 오려면 WinForm 응용 프로그램에서 Form 개체를 반환하는 메서드를 만들었습니다. 또한 AfterShellCreated에서 이벤트를 사용하여 XBAP 응용 프로그램에 셸 만들기에 대해 알립니다.

이 모든 변경 사항을 통해 WPF 브라우저 기반 응용 프로그램에서 스마트 클라이언트를 호스팅 할 수 있습니다.

다른 사람들에게 도움이되기를 바랍니다.