keydet

Using Virtual Earth in a WPF Application

Download this episode

Description

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 http://blogs.msdn.com/devkeydet/archive/2008/06/24/wpf-and-virtual-earth-revisited.aspx

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • AppStar08
      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!
    • keydet

      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.

    • AppStar08
      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.
    • recombinant
      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?

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.