Как запустить Google Планета Земля внутри элемента управления WPF

Я пытаюсь запустить Google Earth внутри WPF, но не знаю, как это сделать. По сути, мне удалось запустить Google Планета Земля в элементе управления формы Windows внутри формы Windows, все было в порядке.

Попытка сделать то же самое в WPF дает странный результат: небольшой экран Google Планета Земля, размещенный в любом месте формы, не в созданном мной пользовательском элементе управления, и теперь есть способ заставить этот элемент управления Google Планета Земля увеличиваться или уменьшаться, когда я увеличиваю или уменьшаю форму WPF.

Любая помощь будет оценена, я действительно имею в виду любую!


person Community    schedule 07.11.2008    source источник
comment
Не совсем то, о чем вы спрашиваете, но рассматривали ли вы вместо этого встраивание Google Maps? У вас было бы меньше проблем с winForm/совместимостью, а также не нужно было бы устанавливать Google Earth. (Пожалуйста, игнорируйте мой комментарий, если по какой-то причине вам действительно нужен Google Earth)   -  person Francesco De Vittori    schedule 30.08.2010


Ответы (2)


Если у вас есть элемент управления Windows Forms, который уже работает именно так, как вы хотите, вы всегда можете использовать WindowsFormsHost, чтобы поместить этот элемент управления в форму WPF. Это может быть проще всего... или то, что вы уже делаете, не работает?

person Grank    schedule 07.11.2008
comment
Спасибо за чаевые. Не могли бы вы объяснить, как создать приложение WPF и запустить существующие формы выигрыша (с Google Earth) в приложении WPF? Пожалуйста, помогите мне, я новичок - person Faizan; 24.01.2015

Я также написал приложение, которое поместило Google Планета Земля в WinForms WebBrowserControl, основанное на более или менее официальном примере, размещенном Google. Это работало нормально. Я изо всех сил пытался воссоздать одно и то же приложение внутри WPF WebBrowserControl. Мой опыт подтверждает общее мнение о том, что WPF WebBrowserControl сложнее использовать, поскольку он обеспечивает меньший контроль. (например, с WinForms WebBrowserControl вы можете использовать свойства, чтобы удалить полосу прокрутки и устранить контрольный вопрос IE при запуске, но с WPF WebBrowserControl вам нужно использовать кладжи внутри загружаемого HTML-файла, чтобы получить тот же эффект.) Если вы следуете В примере WinForms плагина Google GE вам необходимо переместить функции обратного вызова JavaScript в отдельный класс, поскольку окно WPF не может быть родителем взаимодействия .Net-COM между JavaScript и C#. Возможно, другие артефакты, которые вы описали, связаны с тем, как вы разрешили это последнее ограничение. Прежде чем найти это решение, у меня возник соблазн поместить элемент управления WinForms WebBrowser в окно WPF, но другие сообщали о неприятных побочных эффектах этого.

person chetto    schedule 24.06.2010