Among other things, I (and my teammates) have spent much of the last year designing significant improvements to xaml2003 that you saw at the PDC in October 2003. While we have spent a lot of time investing in design, we haven't implemented many of the changes yet. As such, I hadn't wanted to do much posting yet.
I got back from vacation last week and found out that we'll continue some implementation very soon. I'm very excited!
A few things to restart the flow of info about what we are doing...
Processes that involve Xaml & Baml
XamlLoading - process of loading xaml and creating objects.
XamlSaving - process of saving an object and all related objects to xaml.
XamlCompiling - process of creating code and a binary representation during compile time.
BamlLoading - process of loading code/binary representation during run time.
People used to throw around a bunch of terms for these things: Parsing, Serialization, etc…
Right now, we think that list is clear and well defined.
Syntax Terminology for setting properties via markup
Attribute Syntax - Setting a property with an xml attribute
<Balloon Brush="Green" />
PropertyTag Syntax - Setting a property with a PropertyTag contained inside the ObjectTag (Balloon). The PropertyTag denotes which property you are trying to set on the outermost ObjectTag. The content inside the PropertyTag provides the value.
<SolidColorBrush Color="Red" Opacity=".5" />
(Previous names - Complex syntax. Compound syntax.)
Content Syntax - Many objects will have a property that is the ContentProperty. For example:
will effectively create a Button and set Button.Content="Hello".
For a long time, we've relied on IAddChild and let component authors decide what their ContentProperty was. We're hoping to decorate types with that information and remove IAddChild from Avalon.
Crazy busy for the next several weeks, but I'll try to keep some things coming...