Avalon Styles Overlooked
Sam laments Chris' use of individual Background attributes on each Border element and proposes a CSS-based alternative.
Either ChrisAn or Rob have already written on why we don't use CSS syntax. However, we can achieve the exact same effect using XAML/Avalon resources.
[Don Box's Spoutlet]
Yes, styles are certainly an overlooked aspect of Avalon at this point. Probably because they're tough to wrap your head around if you're used to the world of HTML + CSS. I'm writing an entire article on Avalon right now, but I haven't even gotten to styles yet.
Styles in Avalon can be scoped by a specific parent element in the visual tree. For those who are familiar with CSS, in Avalon one can style all instances of an element type at a specific scope (think element selector) or only those elements that specify a specific style name (think class selector). Even more powerful is the ability to completely override the visual tree for more complex controls such as the Button while still maintaining 100% of the behavior of the control. As I understand it though, the visual tree can only be overriden for elements which derive from ContentControl. Perhaps Chris can confirm or deny that though. Yet even more powerful is the ability to define “visual triggers” in styling syntax that basically setup property monitors in the Avalon runtime and automagically swap the current style of the element (in CSS, think about things like the hover psudeo-element, but for any custom property a control might ever define).
Also, I realize it's only an example, but I wanted to point out that a Table element exists. GridPanel is intended for very rudimentary tabular layout where as Table provides about the same level of support for complexity as an HTML table element.