如何在WPF控件内运行Google地球

时间:2008-11-07 22:05:06

标签: wpf winforms com google-earth

我正在尝试在WPF中运行Google地球,但我不知道如何。基本上我已经设法在Windows窗体内的Windows窗体控件中运行Google地球,一切都很好。

尝试在WPF中做同样的事情,好吧,给出一个奇怪的结果,一个小的Google Earth屏幕放置在我创建的用户控件内部的任何地方,现在有办法使这个Google Earth Control成长,当我增长或缩小WPF表格时,缩小或收缩。

任何帮助都会受到赞赏,我的意思是!

2 个答案:

答案 0 :(得分:3)

如果您的Windows窗体控件已经完全按照您的需要工作,则可以始终使用WindowsFormsHost将该控件放在WPF窗体上。这可能是最简单的事情......或者你正在做的事情是不起作用的?

答案 1 :(得分:1)

我还写了一个应用程序,将Google Earth置于WinForms WebBrowserControl中,该控件基于Google托管的或多或少的官方示例。它工作正常。我努力在WPF WebBrowserControl中重新创建相同的应用程序。我的经验证实了WPF WebBrowserControl更难以使用的普遍共识,因为它提供的控制较少。 (例如,使用WinForms WebBrowserControl,您可以使用属性删除滚动条并在启动时消除IE安全问题,但使用WPF WebBrowserControl,您必须使用kludges内部加载HTML文件才能获得相同的效果。)如果您关注在Google GE插件WinForms示例中,您必须将JavaScript回调函数移动到单独的类中,因为WPF窗口不能是JavaScript和C#之间的.Net-COM互操作的父级。也许您描述的其他工件是由于您如何解决后一种限制。在找到这个解决方案之前,我很想将WinForms WebBrowser控件放在WPF窗口中,但其他人已经发布了这样做的令人不快的副作用。