I should admit I was a bit skeptical on the detail and depth f this presentation. Turns out, at the end of the day that it was pretty complete, although not a complete deep dive over the bits and pieces of the hood. Jeff started the morning session with a brief technological contextualization, showing us, attendees, the essence of the Silverlight 2 technology: language, implementation and presentation. For those already working on Silverlight, which is my case, the morning session didn’t added much, except for some interesting behaviors regarding hit tests with objects on a Silverlight application. The usual panel controls were shown: Canvas, Grid, StackPanel and TablePanel, and Jeff took the opportunity to show behavior differences between them.

 

One interesting thing Jeff mentioned, and many people don’t know about Silverlight, is the reason why a Silverlight page usually has an IFrame in it. Well… It’s all for the benefit of Safari "the worst browser in the world" – according to Jeff. Iframe prevents browser from not downloading new versions, by caching the page. Safari caching prevents the Silverlight plug-in from reloading when the user navigates back to a previously-visited Silverlight page.

 

So the in rest of the morning session we heard Jeff talk about mouse event handling and keyboard handling, security (Silverlight disables keyboard input when in full screen for instance), event bubbling and performance (video resize is dangerous, always use native video size).

 

In the afternoon session, media and animation was the main theme. The MediaElement control was used to demonstrate clipping effect in an elipse form, and transformations like rotate, skew and scale were explained. One particular functionality I haven’t tested yet, is the XamlReader and XamlWriter classes. They allow us to load xaml code from some source, and apply it on the application, and the opposite: riting xaml code into some source. I’ll get to this soon and post about it.

 

Check http://mycomix.wintellect.com for some cool demos.