June 25, 2004·
.net
Longhorn Foghorn: Crazy About Avalon Data Binding
Over the last few weeks, I’ve fallen in love with the power and simplicity of Avalon data binding. In this month’s column, I start a 2 article series by focusing on the basics of data binding in Avalon and tease you with a screen shot of my Longhorn Solitaire application rebuilt using data binding and styles, the details of which I’ll cover in the 2nd part of the series.
June 24, 2004·
.net
It’s Almost Always Option B
Choose an existing technology Foo and imagine a newer, better way of doing the same thing called Bar that’s coming in some number of days/weeks/years. Sean and Scott say that you have the following choices:
A. Blissfully continue to use Foo.
B. Continue to use Foo, but research Bar, and architect for its use once it’s available.
C. Don’t touch Foo with a 10 foot pole. It’s dead after all. Touching it is probably illegal in 46 states.
Some folks hold onto option A too long, while some jump into option C too soon. The answer is almost always B within some delta of “it’s available” that’s appropriate for your business.
Sean and Scott call Foo and Bar “Windows Forms” and “Avalon,” but as they point out, these are the decisions we’re always making on new technologies. What’s the best judge of the delta around “it’s available” for adoption? That’s all about your specific business needs and don’t let peer pressure sway you either way.
June 24, 2004·
.net
RobertM On Consuming XAML From A Web Server
Robert McLaws makes an interesting observation about the possibility of consuming XAML from a web server:
“So, if Microsoft wants to blur the lines between a web site and an client-side application, what makes you think that the next version of IIS will not support serving up XAML to the client. Instead of getting a limited browser experience at http://www.longhornblogs.com/default.aspx, what if you could get a super-interactive experience with the full power of the client at http://www.longhornblogs.com/default.xaml? What if, on a mobile device, you could use web services to allow location-aware applications ultra-dynamic, serving up XAML UI code along with data? A thick thin-client? Talk about a contradiction in terms. The possibilities become greatly expanded if you beging looking at what’s in front of you instead of looking behind your shoulder at what’s behind you.”
The future is unwritten.
June 19, 2004·
.net
Chris Anderson on Avalon Visual Extensibility
Chris Anderson just did a fabulous job describing what makes Avalon more extensible than existing popular UI frameworks. What Avalon allows is the ability to have a Button instance like so:
<Window>
<Button>Hello</Button>
<Window>
And then, somewhere else, using Styles, setting the VisualTree of what a Button looks like to be whatever you like, e.g.
<Style>
<Button />
<Style.VisualTree>
<FlowPanel>
<!-- anything you like in here,
e.g. <Text>, <Video>, <Rectangle>, whatever -->
<ContentPresenter />
</FlowPanel>
</Style.VisualTree>
</Style>
Two interesting things about this button style. The first is that you can make a Button look however you want it to look, without worrying whether the Avalon team had that in mind up front. Two, when you want to drop in the content inside the Button tag, e.g. “Hello”, you drop in the ContentPresentor and it knows how to display what was placed in the Button (again, which could be anything). Simple and flexible: two things that I’m finding to be true more and more about Avalon the further I dig.
June 19, 2004·
.net
Longhorn 4074, MSBuild + GetOutputAssembly
If you’re using Longhorn 4074 and MSBuild is telling you this, ‘The target “GetOutputAssembly” does not exist in the project.’, then try these steps to solve the problem:
-
Backup %windows%\microsoft.net\windows\v6.0.4030\WindowsCommon.Target because you’re about to modify it
-
In WindowsCommon.Target, replace all GetOutputAssembly with BuildOutputGroup
-
Save and Close WindowsCommon.Target
-
Re-run MSBuild and enjoy
June 17, 2004·
.net
Avalon Data Binding Talk, PADNUG, Thurs, 6/24/04
“If you’re familiar with data binding in Windows Forms or ASP.NET, you ain’t seen nothin’ yet. In this presentation, Chris Sells, Content Strategist for the MSDN Longhorn Developer Center Web site, will cover data binding in Avalon, the new UI stack in Longhorn, Microsoft’s next OS. Chris will cover the basics of data binding and then move into transformers, filters and styling. If you’re going to build UIs in Avalon, you’d be crazy not to use data binding to do it.”
Data Binding in Avalon
6/24/2004, 6:30pm
Portland Community College Auditorium, Room 104
1626 SE Water Avenue
Portland, OR