Parts & States Model with VisualStateManager (Part 3 of 4)

This is the third post in a four part series on Silverlight 2’s Parts & States control model. Last time, you learned how to reskin an existing control using VisualStateManager.  In this post, you’ll see how to build up a Parts & States-based custom control.  We’ll also explore how you can create more sophisticated visual transitions. (Series Link:  Part 1, Part 2, Part 3, Part 4) VisualStateManager We’ve saw it briefly in the last post, but let’s formally introduce VisualStateManager.  VisualStateManager is the class responsible for control visual state management.  The “visual” modifier in that sentence is important – the …

Parts & States Model with VisualStateManager (Part 2 of 4)

This is the second post in a four part series about managing parts & states in Silverlight 2 controls. Today, we’ll put into practice the concepts you learned last time and walk through how to reskin a CheckBox.  (If you haven’t already, please be sure to read part 1 of this series.) Note: I’ve shortened the XAML snippets in this post for readability.  You can download the full sample code here. (Series Link:  Part 1, Part 2, Part 3, Part 4) A CheckBox ControlTemplate ControlTemplates define the visuals for a custom control.  The CheckBox ControlTemplate that we’ll be expanding on …

Parts & States Model with VisualStateManager (Part 1 of 4)

In Silverlight 2, we’ve added significant new support for managing states and transitions inside of controls.  To help explain the Parts & States Model, I’ve put together a 4 part post series that will show how to: Create a control contract using the Parts & States Model Wire the control logic to manipulate states & parts Design a control template with states & parts Playing a starring role in this content will be VisualStateManager, or as we lovingly call it, VSM.  VSM can be used with both UserControls and custom controls… but in this series, we’ll concentrate on its usage …

Silverlight 2 Beta2

Silverlight Beta2 is officially out in the wild!  All the required download links to get started are here: Silverlight 2 Beta 2 runtime Visual Studio 2008 Silverlight Tools  Expression Blend 2.5 June Preview Deep Zoom Composer   Also, for the feature areas I drive, here are the major Beta2 updates: Networking Wider API set for WebClient Upload methods for streams and strings Set request headers on uploads Threading Updates HttpWebRequest & WebClient are callable on a background thread HttpWebRequest’s delegates are called on a new non-UI thread. Delegates were previously always called on the UI thread. You must invoke back …

TechEd Samples

Thanks everyone who attended my TechEd talks last week!  As promised, here are the decks and samples from each session.  When the videos get posted, I will add links.  🙂 WUX206: An Introduction to Microsoft Silverlight Controls Framework (slides, samples)   WUX326: Understanding the Microsoft Silverlight 2 Control Skinning Framework (slides, samples)   Also, for fun…. I’ve uploaded my WeatherControl sample app to play with!

TechEd Orlando

I’ve landed in Orlando for the dev week of TechEd 2008!  And it’s raining.  (Seattle weather haunts me.) Anyways, for those of you in Orlando, I’ll be giving two talks on the Silverlight Control Model: WUX206  An Introduction to Microsoft Silverlight Controls Framework (Wednesday 6/4/2008 2:45PM-4:00PM, Room: S230 A) This session provides an overview of the Silverlight control model. We look at the fundamentals of how to use Silverlight controls and how to make minor visual customizations to them via Styles. In addition, we explore UserControls and how they make building Silverlight applications easier. WUX326 Understanding the Microsoft Silverlight Control …

Silverlight HTTP Networking Stack – Part 3 (Configuring a Cross Domain Policy File)

Here’s the final post in this 3 part Silverlight HTTP networking series. In the first post, we discussed basic site of origin HTTP communication.  In the second, we gave an overview of Silverlight’s cross domain communication support. Today, we’ll drill in to how to configure your web service to enable Silverlight cross domain callers.  If you haven’t already, please be sure to read (at least) part 2 of this series – it provides a lot context for this discussion. Note: this tutorial has been updated for Silverlight 2 RTW   (Series Links:  Part 1, Part 2, Part 3)   So, …

Silverlight HTTP Networking Stack – Part 2 (Cross Domain Communication Overview)

In part 1, we discussed how Silverlight applications talk to their site of origin server.  In this post, we’ll dive into the high level concepts around Silverlight’s cross domain HTTP communication.  Then next time, we’ll go into details of how to set up a cross domain policy file. Note: this tutorial has been updated for Silverlight 2 RTW. (Series Links:  Part 1, Part 2, Part 3) What is Cross Domain Communication? As mentioned last time, your Silverlight application by default can only talk back to its site of origin server.  This is in line with the general browser sandbox, and …

Silverlight HTTP Networking Stack – Part 1 (Site of Origin Communication)

This is going to be a three parter.  🙂  Today, we’ll dig into the core networking capabilities of the HTTP stack for site of origin communication.  In the next two parts, we’ll go deep into understanding our HTTP cross domain support. Note: this tutorial has been updated for Silverlight 2 RTW. (Series Links:  Part 1, Part 2, Part 3)   So, You Want To Phone Home… In Silverlight 2, by default, you are only able to talk back to your site of origin server.  This is in line with the general browser sandbox, and is designed to prevent cross site …