Wednesday, July 14, 2004

Longhorn Developer Center Home: Longhorn Developer Center Home: The Avalon Control Content Model

Jeff Bogdan explores Avalon's control content model, a concept that can be nearly missed by the developer on first encounter, but one that provides extreme flexibility when meeting the demands of richer scenarios.

There's an obvious property that UI developers expect to find on the controls they're using: Text. Win32 gave WM_GETTEXT and WM_SETTEXT messages for HWNDs, and most frameworks built on top of HWNDs exposed this functionality. Yet in Avalon, we intentionally left Text out of the Control API. This has raised enough questions to warrant an explanation into our motivations behind this design. Obviously, it goes much deeper than one property. In Avalon, we've used two principles to shape our control content model:


The developer should experience a smooth progression when moving from simpler to richer content.
Data is a first class citizen for control content.

No comments: