It’s a must-watch screencast if you’d like to know about the possibility of creating something useful using technologies: Excel, Virtual Earth, VSTO, and WPF.
Yes, you read the post’s title right. Several days ago I made my first screen cast in English. I’ve already did some screencasts (here and here), but this is the first audible one in English. Before you judge it, I have to admit that my English is terrible, it is more Indonesia-English (Inglish). However, if you’re Indonesian and geeky enough, I’m sure you’ll understand the content. This screencast is just for fun, no sponsors that endorse me to do it. Anyway, any endorsements are welcome :)
Here it is, have a nice watching..
It’s a long screencast (49 minutes), so you better prepare a cup of coffee (or some cigarettes, if you’re smoker) before you watch it.
If somehow you cannot watch it in this page, you can download the video file directly from this Link. If the video or link are unavailable on April 12, 2009, then screencast.com (where I host the file) is in maintenance.
Let me explain the content. If you attended MSDN Day at Microsoft Indonesia on March 25, 2009 ago, you’ve seen the demo. In this long screencast, I talked about Excel, Virtual Earth, VSTO, and WPF in one demo. It’s all about:
- Binding SQL Server table data (sales data) to Excel’s ListObject using LINQ to SQL
- Customizing Excel Ribbon
- Adding and configuring chart to Excel’s Worksheet programmatically
- Accessing Virtual Earth (VE) from WPF user control
- Embedding WPF User Control to Excel’s Action Pane using ElementHost control
- Programmatically adding pushpins to Virtual Earth (based on sales persons location data)
- Displaying VE pushpins’ InfoBox (detail) programmatically when user click Excel ListObject rows by handling ListObject’s SelectedIndexChanged event
The completed solution of the demo can be downloaded at: http://dycode.com/files/folders/msdnday/entry190.aspx
Virtual Earth WPF Control
For the demo, I use WPF user control that’s originally posted here: http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/10/03/10813.aspx
For my demo purpose, I did some modification to:
- Allow to display pushpin's InfoBox programmatically by calling ShowPushPinInfoBox() method. That method is added to PushPin class.
- Allow to change Map mode to 3D. We add MapMode dependency property to VirtualEarth user control.
- Add DetailsPushPinClicked event to VirtualEarth control. That event will be triggered when user click "Show Details" link located inside pushpin's InfoBox. The technique show how we can link JavaScript event with WPF.
The modified control can be downloaded at: http://dycode.com/files/folders/codesamples/entry192.aspx
That’s it. Have a nice watching and exploring.
Links in this post: