Using Virtual Earth in a WPF Application

Play Using Virtual Earth in a WPF Application
Sign in to queue


Marc Schweigert shows you how to use Virtual Earth in a WPF application by using a prototype WPF Virtual Earth control.  You'll also see a walkthrough of how the prototype control was built.  You can download the prototype and sample application at



Right click to download this episode

The Discussion

  • User profile image
    Great Screencast!

    I played around with Virtual Earth and WPF a while back but ran into Z-Order and DOM issues. Looks like the latest version of the WPF browser control and your "layered window trickery" solves most of the issues.

    However, I think the real power in doing something like this would be XAML pushpins with dynamic colors and numbers. I imagine just keeping the hidden top layer buttons visible and using a small transparent gif for the ve pushpin would do it. You'd lose the pushpin mouseover but I guess you could use the button mouseover event at that point. A custom dashboard would be needed to prevent the XAML buttons from covering it as well.  Any other thoughts? Thanks!
  • User profile image

    I actually had WPF pushpins originally, but chose not to go that route.  That's not to say you couldn't.  In fact, I actually use an invisible (Opacity=".01") WPF button over the pushpin rendered by the map.  That's how I chose to implement the ability to hover over the pushpin and get a WPF InfoBox (implemented as a UserControl).  If you really want to have WPF based pushpins, just comment out line 387 in VEMap and comment out line 401 which is the call telling VE to add the pushpin.

    I chose not to use WPF pushpins for two reasons.  First, it seemed like overkill to render such a small UI element as a vector graphic since pushpins are typically fixed width and height.  Second, due to the delay in event notification between JavaScript & managed code, the repositioning of the pushpins is a little “jerky.”  So I am a bigger fan of drawing your pushpins with a vector drawing tool, and then saving them as bitmaps.  You get the same visual experience with better overall perf.  Your mileage may vary.

  • User profile image
    Thanks for your insight. That takes me back to using Silverlight with the VE map inside the web browser control. Unfortunately you lose Drag-n-Drop between Silverlight and the WPF app; as well as some databinding and pure managed code events. Not to mention the XAML would need to reside in the VE map control project, not the WPF app.
  • User profile image
    i'm getting javascript errors when i click the "Birds-eye" view (line 41, char 13, "Input string was not the correct format"), so i just thought i'd bring up the question of debugging the script inside a WPF host app - can it be done?

Add Your 2 Cents