2008-11-07 4 views
4

WPF에서 Google Earth를 실행하려고하는데 어떻게해야할지 모르겠다. 기본적으로 Windows Form 내 Windows Form Control에서 Google 어스를 실행할 수 있었지만 모든 것이 정상이었습니다.WPF 컨트롤 내에서 Google Earth를 실행하는 방법

WPF에서 동일한 작업을 수행하려고 시도했지만, 작성한 사용자 정의 컨트롤 내부에 배치 된 작은 Google 어스 스크린의 이상한 결과를 제공합니다. 이제이 Google 어스 컨트롤을 성장시킬 수있는 방법이 있습니다. 또는 축소 할 때 WPF 양식을 확대하거나 축소 할 수 있습니다.

도움이 될만한 답변을 드리겠습니다.

+0

당신이 묻는 것은 아니지만 대신 Google지도를 삽입하는 것을 고려 했습니까? winForm/상호 운용성 문제가 적고 Google 어스를 설치할 필요가 없습니다. (제발 내 이유를 무시하면 제발 Google Earth가 정말로 필요한 이유가 있습니다) –

답변

3

원하는대로 정확하게 작동하는 Windows Forms 컨트롤이있는 경우 항상 WindowsFormsHost를 사용하여 해당 컨트롤을 WPF 폼에 배치 할 수 있습니다. 그게 가장 쉬운 방법 일거야 ... 아니면 네가 벌써하고있는 일이 효과가 없다는거야?

+0

팁 주셔서 감사. WPF 응용 프로그램을 만들고 WPF 응용 프로그램에서 실행되도록 기존의 winform (Google 어스 포함)을 삽입하는 방법을 설명해 주시겠습니까? 제발 초보자입니다. – Faizan

1

Google이 호스팅하는 공식 예제를 기반으로 한 WinForms WebBrowserControl 내에 Google 어스를 배치하는 응용 프로그램도 작성했습니다. 괜찮 았어. WPF WebBrowserControl 내에서 동일한 응용 프로그램을 다시 만들려고 애썼다. 내 경험에 따르면 WPF WebBrowserControl은 제어가 덜하기 때문에 사용하기가 더 어렵다는 일반적인 합의가있는 것으로 확인됩니다. (예 : WinForms WebBrowserControl을 사용하면 속성을 사용하여 스크롤 막대를 제거하고 시작할 때 IE 보안 질문을 제거 할 수 있지만 WPF WebBrowserControl을 사용하면 내부에 kludges를 사용하여 동일한 효과를 얻기 위해 HTML 파일을로드해야합니다.) Google GE 플러그인 WinForms 예제의 경우 WPF 창 캔트가 자바 스크립트와 C# 사이의 .Net-COM interop의 상위가 될 수 있으므로 자바 스크립트 콜백 함수를 별도의 클래스로 옮겨야합니다. 설명 된 다른 아티팩트는이 후자의 제한 사항을 어떻게 해결했기 때문일 수 있습니다. 이 솔루션을 찾기 전에 WinForms WebBrowser 컨트롤을 WPF 창에 넣으려고했으나 다른 브라우저에서는이 작업을 수행 할 때 부작용이 나타났습니다.

관련 문제