Archive for January, 2007

Thanks to you, one of my articles made the top 100 wordpress list.  Your emails and comments have made the first month of WpfWonderland  interesting and fun.

Here are your favorite articles from January

WPFe Example – the game of life
Comparing WPF applications and XBAP – Wh
Latest version of Reflector can dissembl
WPF Sample – ColorComb
iPhone UI – WPF can do that!
Free WPF datagrid component from Xceed
WPFe Example – Happy New Year 2007
WPFe Example – Virtual Earth overlay
First WPF 3D short film debuts on your l
Flickr + Thirteen23 + WPF = One cool app



RSS Like this article? Subscribe to the RSS feed.


Read Full Post »

Today is Vista launch day.  You may be excited by the prospect of running Vista on your computer or you may think it’s a ho-hum moment.  I’m excited though.  Every computer shipping with Vista installed is gaining a powerful new UI rendering engine, whether the consumer knows it or not.

I’m even more excited that Tim Sneath is publishing a series called ‘Great WPF Applications’.  He’s planning on showing all the interesting WPF applications that have crossed his path during the last  year.

Many of these WPF applications have been in stealth mode during development.  The result of this cone of silence is a skewed perception that WPF  is not ready for prime time or that no one is using WPF to build rich UI applications.  That’s unfortunate, but I think the perception is about to change.

Tim’s first article in the series features a beautiful book viewing platform written for the British Library.  Read Tim’s article, he explains a lot about the application, who wrote it, what unique problems they had to solve, the benefits provide by WPF and so on.  BTW the complete app was written in 3 months.

Take me to the Turn the Page application


RSS Like this article? Subscribe to the RSS feed.

Read Full Post »

A couple days ago I wrote about the free WPF datagrid component from Exceed.  This is good news for WPF developers for a couple reasons.  One, we get a practical datagrid to use in our applications.  Two, the datagrid is a good showcase for WPF.  We can see what kinds of components can be written in WPF.

I think it’s good PR for Xceed too.  By getting a working WPF component out early and giving it away for free they gain market share and mindshare in the WPF community.

The idea

I was thinking about this the other night when I was struck by a new thought. It lit my mind like a streak of lightning sizzling across the moonlight sky. Zzzaap!


  –XBAPs are the perfect way to demo your WPF product–


If you haven’t seen the Exceed demo yet I recommend  that you check it out and see for yourself what they have done.  Exceed’s XBAP demo is a suburb way to show off their new product.  Its more than just code.  Its interactive, which is better than watching a video.  It nudges you along the demo path with informational balloons and pointers. Go see what I mean.

It’s a brilliant use of  WPF technology. I’m suggesting that you consider the same for your product.

The problem

Your company builds tools for WPF developers.  You want to show the world how nifty your latest WPF tools are.  What are your options?

  • Create a demo app and distribute on DVD at trade shows and conferences
  • Give away free copies of your software with SDK demos
    • Time cripple the app
    • Limit features in app
  • Film a Videocast of the application demo and post on your website and other video sites
  • Hire a Flash team or Adobe Director company to build an interactive demo
  • Attempt a web-based demo

XBAP solution

Xaml Browser Applications (XBAP) are full featured WPF applications.  There are a few differences between them, which I’ve listed here, but XBAPs can do nearly everything that a standalone WPF application can do. That is what makes this so intriguing.  You can showcase your product – via WPF and deploy the demo via the browser.

So what do you do? Now you want to build and deploy an XBAP demo:

  • Have your demo gods whip up a WPF demo (XBAP) that shows off your tools finest features. 
  • Make the UI for the demo, the marketing screens, the information and sales pages, beautiful and compelling via the rich WPF graphics engine. 
  • Upload the XBAP to your webserver.
  • Invite your customers to experience your latest release.


There are a couple caveats.

  1. Your customer must have the .NET 3.0 runtime  installed.
  2. Your customer has to visit your demo site with Internet Explorer.

How big a limitation is this really? Let’s think about this for a second.  You are trying to sell your toolset to the WPF community.  What are the chances they would have .NET 3.0 installed already?  Very high, I bet. How many of them have IE?  A better question would be how many of them use Firefox.  Probably a high number, but to use your demo they could switch to IE for a few minutes.

I see so much potential for this idea.   If you are selling WPF tools you really should consider XBAP demos.


RSS Like this article? Subscribe to the RSS feed.

Read Full Post »

Quick summary of the differences between XBAP and Standalone WPF applications.

Standalone WPF applications

  • Installed on users computer
  • Appear in Start Menu and Add/Remove Programs.
  • Installed via MSI or ClickOnce
  • Code Access Security
    • Run in Full Trust unless modified by Administrator
    • Capabilities within zone
      • Spawn children windows
      • Use WCF
      • Access registry
      • Read/write to file system
      • Any other full-trust task
  • Runs in its own standard OS window
  • Newer version may not be automatically installed on users computer
    • ClickOnce can automate this process
    • User may opt out of updates (use older version)
  • User can be offline and use application

XAML Browser Applications (XBAPs)

  • Not installed on the client’s computer
  • Do not appear in the in Start Menu or Add/Remove Programs.
  • Are automatically deployed via ClickOnce
    • YourApp.xbap is really a ClickOnce deployment manifest
  • Code Access Security
    • Run in Internet Zone (sandbox)
    • Security exception thrown if attempt made to access unauthorized areas
    • Capacities within zone
      • Isolated Storage
      • No calls to WCF allowed
      • Only tasks available in Internet zone
  • Additional security
    • WPF removes device driver privileges from the browsers process token
  • Hosted in browser process
  • Only run in IE browsers
  • WPF restrictions
    • Can use 99% of WPF features
    • Cannot use BitmapEffects
  • Newer version always installed
  • User must be online to use application
  • User must be able to see deployment webserver



RSS Like this article? Subscribe to the RSS feed.

Read Full Post »

Jonathon pointed out a flaw in my BAML article. I made it sound like downloading the latest version of Reflector was all you had to do.  That’s not true, you also have to download another tool. I guess wasn’t too clear in explaining how Reflector creates XAML from BAML.  Here is a more detailed roadmap.

Lutz Roeder has created a tool, BamlDisassembler (update on March 10,2007, new addin for Reflector 5.0 is available. BamlViewer )), that reads BAML from an assembly resource and converts it to XAML.  You can run BamlDisassembler at a command prompt like so:

BamlDisassembler input.baml output.xaml

Viewing XAML

You can also run BamlDisassembler from Reflector.  This is what I was trying to say in my previous article.  Here’s how:

  • In Windows, register the .baml file extension with BamlDisassembler. 
  • Run Reflector
  • Open the WPF assembly in Reflector
  • Click the resources folder in the WPF assembly
  • Click the *.g.resources node
  • Double click the *.baml  file
  • Enjoy reading the XAML


RSS Like this article? Subscribe to the RSS feed.

Read Full Post »

Would you like to see an odd little movie?  Japanese design house Bascule released the first ever short film produced with WPF — Dominoken. 

This offbeat little film, featuring a cast of 2D/3D digital actors  follows the trials and tribulations of a Japanese short order cook facing a chaotic night of dominoes, sushi, rice bowls, and more.  Could this be the start of WPF night at the movies?

Show me Dominoken  (must have .NET 3.0 installed)




Read Full Post »

A frequent complaint about WPF from potential WPF adopters is the lack of a real datagrid.  WPF has the powerful layout panel (Grid) but it a  layout element only.  Its real mission is to provide a way for you to organize your UI elements, not show your database data.

Traditionally third parties come along and fill in the gaps in Microsoft product line with control libraries.  Often these libraries are huge and expensive.  There was a lively datagrid market for Visual Basic developers back in the mid ’90s for example.

It looks like the same thing is happening with WPF.  I’ve encountered many commercial component programmers at WPF events and we’re starting to see releases of component libraries.

Free Datagrid

Exceed just released their own WPF datagrid.  I haven’t had time for a full review of the tool yet but it seems to be very useful from the quick overview I had last night.  The best part — the datagrid is free.  This doesn’t appear to be a limited time offer either.  Now you’ve really got no reason to put off adoption of WPF :>


I’ll have a more detailed post later but here are a couple screenshots to keep you happy.

Applying themes to the grid.

Grouping data in grid.



RSS Like this article? Subscribe to the RSS feed.

Read Full Post »

Older Posts »