Welcome to WindowsClient.net | My Blog | Sign in | Join

Rob Relyea - XAMLified

WPF, Silverlight and XAML

Syndication

Sponsors





  • advertise here
PDC08: XAML Talk

10/31/2008 Update: The talk is over now...I summarize and link to the video of the talk here: PDC08 News: XAML in .NET 4: XAML2009 & System.Xaml.dll

XamlLogo

I’m very excited about the XAML talk that Daniel Roth and I are giving at PDC08 this October.  Althought PDC03 & PDC05 saw a bunch of XAML, we’ve never had a talk at PDC or TechEd focused on XAML – the declarative foundation for .NET/Silverlight.  As such, we have a bunch of very interesting things for those of you using XAML.

I gave a jpeg preview of one of our demos we’ll be showing.

Here is the XAML Talk abstract.

And here are links to other sessions.

Published Tuesday, September 30, 2008 9:48 PM by Rob_Relyea

Comments

# re: PDC08: XAML Talk@ Wednesday, October 01, 2008 10:20 AM

I wish I could afford to go ;( Looking forward to hearing what new stuff you've been working on.

by Rob

# re: PDC08: XAML Talk@ Wednesday, October 01, 2008 11:13 AM

Nice, not sure about the UIElement tag though.

by Joe

# re: PDC08: XAML Talk@ Wednesday, October 01, 2008 10:49 PM

I think "UIElemen..." means retrieved UIElementCollection.

by Ivan

# re: PDC08: XAML Talk@ Thursday, October 02, 2008 4:50 AM

Rob -

I believe most sessions will be live within 24 hours on the net. That said, being there is still nice...as we get to interact better. Sorry I won't see you there.

Ivan-

Yes "UIElemen..." is representing the retrieved UIElementCollection.

# re: PDC08: XAML Talk@ Friday, October 03, 2008 7:12 PM

I have a question!

XAML specification use this approach:

Panel > .Children > UIElementCollection > .Items > MemberNode.Values

and VS WPF Designer use this:

Panel > .Children > ModelProperty.Collection

Is it safe to skip retrieved objects this way?

by Ivan

# re: PDC08: XAML Talk@ Saturday, October 04, 2008 2:11 AM

Ivan-

Yes, a XAML system can choose to omit the retrieved objects, however that will cause consumers to have to do some more look ahead to understand if the object should be retrieved or not.  If the first child is assignable to the type of the collection (whose property is r/w), then we use that child as the collection instance...

# PDC is coming@ Tuesday, October 07, 2008 4:44 PM

Uncloaking after a long absence, here's some of what is new and exciting for the next release of WCF

# PDC is coming : EasyCoded@ Tuesday, October 07, 2008 5:00 PM

Pingback from  PDC is coming : EasyCoded

# PDC is coming | Simply Net Development@ Wednesday, October 08, 2008 2:07 AM

Pingback from  PDC is coming | Simply Net Development

# re: PDC08: XAML Talk@ Wednesday, October 08, 2008 8:00 PM

I'm now wondering if there's going to be any visualization magic around markup extensions.  

Also, one random suggestion.  Why not add some sort of custom attribute on an attached property to indicate where it's valid to use it.  This way the editors won't show all registered attached properties in the intellisnse.  e.g. For Grid.Column it would indicate that it should only be used for Grid Panel's immediate children.

by Joe

# re: PDC08: XAML Talk@ Wednesday, October 08, 2008 11:47 PM

Joe-

MarkupExtensions will show up in those views similar to normal objects, however, you can distinguish markup extensions from non-markup extensions, so this visualization could make it look different.  Let me noodle.

There are attributes in WPF v3 that let an attached property provide information on if the scope is children or not, etc...  I can dig them if you need...but not until after PDC...big crunch time.

Thanks, Rob

# re: PDC08: XAML Talk@ Thursday, November 06, 2008 4:39 AM

There are any differences regarding themeing the controls? For example at www.xamltemplates.net you cand buy a theme for all wpf controls ... they will work in .Net 4.0?

Thanks.

by bradutz

# re: PDC08: XAML Talk@ Wednesday, November 19, 2008 10:11 AM

Love the enhancements to XAML, especially generics support.

The thing that is completely misleading about all this is calling it "declarative". I noticed this happening several times in the talk, simply because something had been re-expressed in XML.

If you take the C# source of an imperative program, with switches, ifs, assignments, loops, etc. and translate it into a XAML dialect that incorporates "activity" objects corresponding to all those imperative steps, how has it become "declarative"? There's a perfect bijection between the imperative steps in the two versions. They're fundamentally identical. Just because something is encoded in XML does not make it declarative. Equivalently, it's possible to write declaratively in C# using object initialization syntax, so just because it's not in XML, doesn't mean it's not declarative. You could take any XAML tree and turn it into a C# object initalization tree and it wouldn't get any less declarative.

The more complete the XAML support for imperative programming becomes, the more it may lose its value or focus as a place where we only find declarative constructs. It starts instead to become a general purpose programming language - albeit one that cannot help being clunkier and more needlessly verbose than most existing languages, being based on XML.

Leave a Comment

(required) 
(required) 
(optional)
(required)