Right after landing in Seattle after the latest .toolbox events tour, I ran to the studio and filmed this episode on Behaviors of SilverlightTV. Not only are there 10 new Behaviors added in version 4 of the Expression Blend SDK, there is new functionality available in the Behaviors API. In this video, we use a few of the new Behaviors and demonstrate that their properties are now bindable and that once triggered an action can check against a specified condition to ensure that it should fire.
These new features result in more “simple drag and drop/property setting” power for the UI designer and developer.
“There’s a lot of magic behind that little square…”
I was reminded once again on this last tour of events, just how valuable the knowledge of the Advanced Options square is to new Blend users. There’s a lot of power and majesty packed into that 7×7 pixel square.
This wallpaper is a commemoration of the little button of wonder.
On the latest Arturo Toledo episode of SilverlightTV, Arturo Toledo takes you through a tour of the .toolbox site a new site (went public during MIX10) to help designers and developers learn Silverlight and Blend from a UI and design-centric point of view.
The site currently contains two courses Design Principles and Design Scenarios. In the Principles track fundamental principles of design are reviewed and applied to application interfaces. A great resource for developers who find themselves doing more and more design work and would like to improve their skills.
The Design Scenarios track is where you apply those principles by building Silverlight-based applications in Blend. Great material for those new to Silverlight and experienced Silverlight developers who looking to improve their interface implementation skills.
In the video, Arturo demonstrates how each module is presented in video and hands-on lab format and he shows just a few of the cool applications you build while rolling through the course.
Expression Studio 4 will launch at the Internet Week conference in New York City on June 7th!
Bill Buxton will be there as our featured guest speaker and many of your other favorite Blenders will be there, too:
And I’ll be there as well, with a big smile on my face 🙂
We’ll show the products in action and showcase design agencies who have seen their businesses grow with Expression Studio.
And just a reminder Expression Studio includes Expression Blend, SketchFlow, Expression Web, Expression Design and Expression Web. We’ve talked about a lot of the new features in Blend 4 (but not all of them!) and now its time to show the new features in all of the tools!
I just returned from a speaking tour traveling to Chicago, New York City, Boston and back to New York City presenting at three .toolbox Blend workshops and three usergroups and attended one conference.
The content for the workshops, covering Blend and Silverlight v4, will be made available on the .toolbox site in just a little while. We still have some work to do to make it all available online as tutorials.
The content for the usergroup presentation, Expression Blend for Developers will be made available on this site very soon.
One thing I did want to put together quickly is a page aggregating all of the resource links available from Microsoft covering Silverlight and Expression Blend.
We have a ton of content available which can be difficult to discover when you are just beginning your Silverlight experience. Hopefully this page will be useful as a jump start to finding all the resources available.
“Another Resources page?” you may be wondering to yourself. Yes, it’s true. My goal is to stay very high-level, keep the links up-to-date with the latest versions and aggregate links across our different sites. In any case, this page will be useful during the next presentation in place of an overstuffed Resource slide.
Did I miss an important resource?
At the Chicago .toolbox event last week, @thejeanious asked how she could easily animate an object between grid row and columns.
l originally answered with something like “I would use a Canvas and figure out the XY positioning…”, but after she explained she was working on a game where the grid seemed to be a natural fit, we came up with a different solution – the new FluidMoveBehavior that comes with Expression Blend 4.
I’ve been explaining the concept of Fluid UI, as a means to animate discrete properties. The first example that comes to mind is the Visibility property of an element. Its either Visible or Collapsed, there is no way to interpolate between the two values. When you change the Visibility property between different VisualStates and check the “Use Fluid UI” button, rather than instantly disappearing, Fluid UI will animate the opacity and scale transform to provide a visual transition between the discrete values.
This type of behavior works with Grid Row and Column positioning as well. If you attach the FluidMoveBehavior to a Grid and set AppliesTo to “Children”, and then at run-time change the Grid Row and Column properties of an element, the item will animate to its new position.
I’ve created a quick sample that demonstrates this behavior.
- Click a rectangle and the ball will animate to that rectangle’s position in the grid
- The cursor keys are also hooked up to move the ball
The beauty of this sample is that shows by quickly applying the FluidMoveBehavior I can animate the position of an element (with easing) writing very little code.
When building Silverlight and WPF applications that are composited (e.g. using MEF) or written to support UI customization, resources are loaded dynamically at run-time. This is a great solution on the development side, but can be a challenge when working on design tasks. If your design surface can’t find the resources at design-time you are presented with zero styling or worse, XAML parsing errors.
Expression Blend 4 RC provides a new feature to support loading resources at design-time.
When you open a project in Blend and the current document contains resources that cannot be resolved and your solution contains at least one ResourceDictionary file, the Add Design-time Resource Dictionary dialog will open.
Once selected, a reference to the dictionary will be added to a file named “DesignTimeResources.xaml” located under the Properties folder. Blend will now find the missing resources during design-time and be able to render the design surface properly.
This feature enables editing of dynamic applications to be much easier than before. No more hacks to get your resources loaded!
As a side note, if you’ve added a ResourceDictionary as a design-time resource and you’d like to remove it; open the “DesignTimeResources.xaml” file. In XAML view, remove the reference to your resource dictionary in the ResourceDictionary.MergedDictionaries node. Then after closing and reopening the file referencing the missing resources, the dialog will prompt you again to choose a dictionary.
I’ve provided a sample solution below that will prompt you with the Add Design-time Resource Dictionary dialog, when you open the “MainPage.xaml” file.