Yow-Hann Lee - Software Happens

All things Computer Science, .NET & WWW

  Home  |   Contact  |   Syndication    |   Login
  130 Posts | 7 Stories | 33 Comments | 50 Trackbacks

News


Article Categories

Archives

Post Categories

About

When you compile your WPF project, you will see a *.g.cs version of your *.xaml.cs files.  These are partial classes which handle the plumbing specified in your WPF file, the abstracted portions that are common for every app - much like the way winforms and asp.net. Although with WPF, the STATThread main method is not meant to be seen and included in the project file.

When you load a xaml file, the code is as follows: Application.LoadComponent(Uri) where uri is the URI of your XAML file. Within this method, you have a XamlReader.LoadBaml(stream1, context1, component, flag1);

Application lifecycle events: Activated, Current, Deactivated, DispatcherUnhandledException, Exit, Run, SessionEnding, Shutdown, ShutdownMode, Startup.

The rest of this plumbing is analogous to a parsing engine. You can think of it like a Browser and how it parses HTML into presentation layer. As I was mostly immersed with the ASP.NET Ajax and previously Atlas CTPs and also looking at WCF, I mostly fell victim to only observing WPF on the sidelines (some sample apps, screencasts, podcasts, previewing CTP publications). Here are some useful places to begin understanding the architecture:

posted on Monday, February 26, 2007 10:29 PM