in

ExpressionBlog.com

Microsoft Expression Studio Community

This Blog

Syndication

Mirrored Blogs

Browse by Tags

All Tags » Beta 2 (RSS)
  • One Man’s Guide To Silverlight Nirvana

    Every day (honest) I am asked for a path through the learning material, even though the Getting Started page offers an explicit path. And that is not surprising. We all have our own way of learning. Here is the path that I personally tend to suggest to most Silverlight neophytes. Path of quick learning: Go to Getting started and get all the links shown here Then watch the video on the same page on getting started. Once Set UP, Writing Programs Read this tutorial on interface controls. Watch [forthcoming] this video on why I made the switch to coding with Silverlight and Blend and how powerfully they work together, and then watch watch these “How Do I” videos on Blend for Programmers: Part 1 Part2 Part3 and/or read this tutorial Data Next, it’s time to focus on this video on data and then this tutorial on creating n-tier applications and data binding. Follow that with a great video on Cross Domain issues and then read up on user controls which you can supplement with this video on keyboard input followed by this video on user controls. Styles and Templates You may then want to read my tutorial and watch my videos on Styles and Templates (to be posted in the next week or two) or check out Karen Corby’s excellent 4 part series on the subject. Freestyle After all that you can pretty much move freely among the other tutorials and videos . Best of luck
  • New Live Presentation Series – Starts 6/25

    I am pleased to announce a new series, blending Conference-quality presentations delivered through Live Meeting via the Live From Redmond Series. Audience, Goal and Purpose Each presentation will provide a thorough overview of a Silverlight 2 topic with a focused  priority of explaining What is this feature and why do you care? What are the most important things you need to know? Where can you learn more? Every presentation will be paired with a blog entry containing links to videos, tutorials, and other resources to complement the material presented. The tutorials and videos will focus on how , but the Presentation will focus on What and Why. While there will be quite a bit of code shown, these are not “How Do I” presentations but rather “What do I need to know and why do I care?” presentations. Each presentations will be provided through Microsoft Webcasts in the “ Live From Redmond ” series and will be recorded for download after processing. Schedule & Registration June 25:   Controls and Events (Subtitle: Programming Silverlight 2 with Expression Blend and Visual Studio 2008). Complete description and registration .  Event ID: 1032381748 July 09: Data-binding, business objects and data sources in Silverlight. Complete description and registration .  Event ID: 1032381750 July 16 – Saruabh Pant Presents: Building Rich Internet Applications Using Microsoft Silverlight 2 July 23: Data Templates in Silverlight. Complete description and registration .  Event ID: 1032381752 August 6 Memory efficient multi-page applications in Silverlight . Complete description and registration .  Event ID: 1032381754 The dates for the next three will be settled very soon. Graphics and Transforms in Silverlight  Visual State Manager, Transitions and Animation in Silverlight Exploring Deep Zoom in Silverlight 2   Fees (none)  and Requirements (Live Meeting) Each presentation is free but you will need to register in advance.  You will also need Microsoft Live Meeting Software to view the presentation (learn more here ).
  • Who Ate My Mouse Down Event??

    Before I leave, I want to squeeze in one quick note about a problem a lot of folks are running into as they upgrade from Beta 1 to Beta 2. I’ll come back to this in more detail when I get back, but here it is in a nutshell. A breaking change in the Beta 2 upgrade is that all the controls now handle MouseLeftButtonDown/Up/Move, while graphic objects do not. That means that no built in control will pass those events on (bubble them up) anymore. So, if you revisit my example for drag and drop what you’ll find is that if you create a button that has a graphic object inside it, and you drag on the button, it will not move, but if you drag on the graphic object it will! You can see this in (the newly updated) Tutorial #1 (where the image for Drag and Drop is misleading). Dragging on the Very Little Green Man works, dragging on the button he is in, does not. That is because the Very Little Green Man consists of nothing but Graphics (elipses and paths) but the button is a control and the control eats the event. This is why figure 1.9 in the tutorial has to be replaced; you can’t drag the button, you have to drag the green man, Broken image It’s subtle but important, where the mouse is shown, you could not be dragging . Yes, in Beta 1, no in Beta 2. Fixed image Here the mouse is dragging the little green man, and that will work just fine. The full reason for this is to come, but the short explanation is that this helps controls in Silverlight behave more like controls in WPF.
  • What is coming soon?

    You have noticed, I’m sure, that there has been a flurry of blogging, videos and more since the release of Beta 2. That is all goodness, though it can be hard to know where to start; and the road map will differ depending on where you are in your experience with Silverlight. This is a rapidly changing environment and I’m hesitant to make promises, because things can change, but after some thought I’ve decided that it would be helpful to give you an idea of what to expect with my tutorials, videos and webcasts.  So, here is my tentative schedule through the next couple months. WebCasts Styles and Templates   Wednesday June 18 9am UTC –8 (Pacific) Deep Zoom Wednesday, July 16, 2008 9:00 Tutorials All of the tutorials are updated to Beta 2 in their  pdf form and the HTML will be updated very soon. All of the source code is already updated.  The next couple tutorials will include Styles, Templates, the Visual State Manager Graphics, Transforms, and Animation Animation In Detail The DataGrid in Detail Book Tim and I are working hard to write and publish Programming Silverlight 2 .  Our hope is to be able to provide an early look very soon. Here is one paragraph from my non-introduction (unedited and unauthorized) We’ve set out to tell you the story of Silverlight and to teach you everything you need to know to program effectively with what we believe is an amazing new technology. We have not tried to replicate the documentation nor to provide a comprehensive definition of every property, event and method of the framework. But telling the story of Silverlight is more than just picking which parts are most important; it is threading our way through a very large and complex framework in a coherent and logical way, making sense of it, and providing a guided tour through the underbrush pointing out the dangerous spots, showing the shortcuts, and warning of the dead-ends . How Do I   Videos In addition to the many videos already posted it is my plan to create videos on the following topics in the coming weeks. Styles  Templates and Visual State Manager The Visual State Manager In Depth Basic Animation in Beta 2 (with Blend) Inter-state animation In-state Animation Graphics and transforms Animating objects Data and Animation DataGrid Advanced DataGrid Popup Control Calendar Control TextBox In Depth Scroll Bars If your favorite topic is missing, just drop me a note .  Please note that some of these topics are covered already, but...
  • Beta 2 Tutorials Available Now in PDF

    I’m pleased to announce that the following tutorials are now updated for Beta 2 and available for immediate download (but only the PDF versions and the code have been updated so far, the HTML versions are not yet updated) 1 Creating Applications With Controls and Events 2 Binding Data In Silverlight 3 Filling a DataGrid using Sql, Linq and WCF 4 Instant Code Reuse: User Controls in Silverlight 5 Introducing Expression Blend For Silverlight Developers To be perfectly clear: The downloadable code is updated for Beta 2 The PDF is updated for Beta 2 The HTML is not updated to Beta 2 We’ll have the HTML updated as soon as possible. There will be a lot of information coming very fast in the next few hours and days. I recommend beginning your explorations with ScottGu’s blog post and then working your way through our new videos, tutorials, and the many other blog posts that will be appearing in the next couple days. Exciting times.
  • Popup Control

    Beta 2 includes a wealth of new controls including the Popup (that is new, right? It’s not that I just didn’t notice it before?). I received an email today asking if I’d do a short How Do I video on creating a Popup and I certainly will, but here is a wicked fast tutorial for those of you who can’t wait…. There are three approaches. 1. Create the Popup as Xaml, most easily in Blend 2. Create the Popup dynamically, most easily in Visual Studio 3. Create the Popup as a User Control (the right answer, once you’re comfortable with how Popups are created Creating the Popup in Xaml Here is a picture of what we’re going to build. The basic Silverlight control will have a button and an image….. The button’s event handler makes the Popup visible. If you are old enough to get the reference, from having watched it when it was first on, remind me to buy you a glass of milk the next time we’re at a conference together There are two important things to notice: the Popup covers any elements that are at its location (when you create it you give it a vertical and horizontal offset from the upper left of the control) and the Popup is entirely within the Silverlight control. Method 1 - Xaml Create your basic project with the Click Me button and the Image in Blend. Set their properties as usual. Then select a Popup from the Asset Library and place that inside your Grid as well. Make the Popup the container by double clicking on it, and you are ready to add the border and StackPanel. Double click on the panel to make it the container and add the TextBlock and Button. Set all the properties. Once you have the controls set, it is time to save all the files and edit in Visual Studio. Your Xaml file will look more or less like this: <UserControl xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml" x:Class= "PopUpControl.Page" xmlns:d= "http://schemas.microsoft.com/expression/blend/2008" xmlns:mc= "http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable= "d" Width= "640" Height= "480" > <Grid x:Name= "LayoutRoot" Background= "White" > <Grid.RowDefinitions> <RowDefinition Height= "0.15*" /> <RowDefinition Height= "0.85*" /> </Grid.RowDefinitions> <Button x:Name= "ShowPopupButton" Height= "40" HorizontalAlignment= "Left"...
  • Beta 2 Month

    Beta 2 has been announced, and as you know from Tim’s post and Karen Corby’s , one of the big and wonderful additions to Beta 2 is a new model for skinning Silverlight controls. This is so exciting, and so important, that my plan is to make it a central (but not quite exclusive) focus for the month of June. The timing is good, because I just finished updating all the tutorials for Beta 2 (watch for them to be posted shortly after Beta 2 is available) and the one I did not update is #3 Styles and Templates. I chose not to update that one because the new model is so much better there was no point in fixing up a tutorial on typewriters when computers are about to land on your desk. The Plan During this month I’ll be releasing A new tutorial that covers Styles, Templates and the VSM in great detail How Do I videos on Styles, Templates, Visual State Manager, and tying it all together Multiple “digging deeper” blog posts and… June 18 - Round Buttons with Visual State Manager The first in my new series of Web casts unlike any I’ve tried before: much higher value, much more information, much more use of the medium. This should just be a blast. So, sign up for the June 18 WebCast and don’t forget to join SLMicroBlog to be kept up to date.
  • Delete me.

  • Beta 2 Event Bubbling

    There are many great changes in Beta 2, and some are designed to make Silverlight more like WPF. One side effect of this is that event bubbling has changed just a bit and that bit breaks some of the examples I love to use. In Beta 1, the distinction was that all the controls handled their own click events but the more primitive events such as many of the mouse events were allowed to bubble. This allowed for interesting if not terribly useful demonstrations in which I placed a check box inside a button and was able to demonstrate that if I were to use the click event on the check box the button would never see the click, but if I used a MouseLeftButtonDown, hey! Presto! the button did see the event. This has now changed in Beta 2 to make Silverlight behave more like WPF. By and large (other than breaking my demo) this is a good thing.  The consistency now is that objects that directly derive from UI element do support event bubbling for the mouse events (that is,  Ellipse, Glyphs, Image, InkPresenter, Line, MediaElement, Path, Polygon, Polyline, Rectangle and TextBlock.)  In addition, the container classes do. Thus, if you set up the following bizarre application in which you have a grid, with a grid in it, that contains a stack panel that in turn contains a rectangle, a TextBlock, a check box, a button and a listbox (the last to show the results)… <UserControl x:Class= "EventBubbling.Page" xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml" Width= "400" Height= "800" > <Grid x:Name= "LayoutRoot" Background= "White" > <Grid x:Name= "InterimGrid" > <StackPanel x:Name= "myStackPanel" Orientation= "Vertical" > <Rectangle x:Name= "myRect" Width= "30" Height= "30" Fill= "Blue" Stroke= "Red" StrokeThickness= "2" Margin= "0,10,0,10" /> <TextBlock x:Name= "myTextBlock" Text= "Hello" HorizontalAlignment= "Center" FontSize= "14" Margin= "0,10,0,10" /> <CheckBox x:Name= "myCheckBox" Content= "Check Me" Width= "80" Height= "40" Margin= "0,10,0,10" HorizontalAlignment= "Center" /> <Button x:Name= "myButton" Content= "TinyButton" Height= "30"...