2008-11-07 3 views
4

J'essaie d'exécuter Google Earth dans WPF mais je ne sais pas comment. Fondamentalement, j'ai réussi à exécuter Google Earth dans un Windows Form Control à l'intérieur d'un Windows Form, tout était OK. Essayer de faire la même chose dans WPF, eh bien, donner un résultat étrange un petit écran Google Earth placé n'importe où dans le formulaire et non dans le contrôle utilisateur que j'ai créé, et il y a maintenant moyen de faire grandir ce contrôle Google Earth , ou rétrécir, quand je grandis ou rétrécis le formulaire WPF.Comment exécuter Google Earth dans un contrôle WPF

Toute aide serait appréciée, je veux dire tout!

+0

Pas vraiment ce que vous demandez, mais avez-vous envisagé d'intégrer Google Maps à la place? Vous auriez moins de problèmes avec winForm/interopérabilité et n'auriez pas besoin de google earth pour être installé. (S'il vous plaît ignorer mon commentaire si, pour une raison quelconque, vous avez vraiment besoin de Google Earth) –

Répondre

3

Si vous avez un contrôle Windows Forms qui fonctionne déjà exactement comme vous le souhaitez, vous pouvez toujours utiliser WindowsFormsHost pour mettre ce contrôle sur votre formulaire WPF. C'est peut-être la chose la plus facile à faire ... ou est-ce que ce que vous faites déjà ne fonctionne pas?

+0

Merci pour le conseil. Pouvez-vous m'expliquer comment créer une application WPF et mettre mes formulaires gagnants (avec google earth) dans une application WPF? S'il vous plaît aidez-moi, je suis un débutant – Faizan

1

J'ai également écrit une application qui place Google Earth dans un WinForms WebBrowserControl basé sur l'exemple plus ou moins officiel hébergé par Google. Cela a bien fonctionné. J'ai eu du mal à recréer la même application dans un WPF WebBrowserControl. Mon expérience confirme ce qui semble être le consensus général que le WPBr WebBrowserControl est plus difficile à utiliser car il offre moins de contrôle. (Par exemple, avec WinForms WebBrowserControl vous pouvez utiliser les propriétés pour supprimer la barre de défilement et éliminer la question de sécurité IE au démarrage, mais avec WPF WebBrowserControl vous devez utiliser kludges dans le fichier HTML chargé pour obtenir le même effet.) Si vous suivez l'exemple du plugin Google GE WinForms, vous devez déplacer les fonctions de rappel JavaScript dans une classe distincte car la fenêtre WPF ne peut pas être un parent de l'interopérabilité .Net-COM entre JavaScript et C#. Peut-être que les autres artefacts que vous avez décrits sont dus à la manière dont vous avez résolu cette dernière limitation. Avant de trouver cette solution, j'ai été tenté de mettre le contrôle WinForms WebBrowser dans la fenêtre WPF, mais d'autres ont posté des effets secondaires déplaisants de le faire.

Questions connexes