More on Silverlight 3’s Navigation Framework

A few weeks ago, I blogged about a sample application I wrote that uses Silverlight 3’s WriteableBitmap class to draw views of the Mandelbrot set. I hadn’t used it long before I realized that it really needed Back-button support. You could drill down into the Mandelbrot set, but you couldn’t drill back out. Enabling the browser’s Back and Forward…

Silverlight 3’s New Child Windows

If you’ve worked with Silverlight 3, you may have noticed that Visual Studio’s Add New Item dialog includes an option for adding a “Silverlight Child Window” to your Silverlight project: The new child window feature makes it easy to add modal dialogs to Silverlight applications. A child window derives from the new ChildWindow class, and…

Silverlight 3’s New Style Enhancements

If I had a dollar for every time a developer has said to me “You mean a style can only be applied to an object once in Silverlight? How brain dead!” or “Why doesn’t Silverlight support BasedOn styles like WPF?”, I’d be retired on a tropical island with my own private runway and a fleet…

Silverlight 3’s New Navigation Framework

One of Silverlight 3’s prominent new features is its built-in navigation framework. This framework allows you to break your content into navigable chunks, or “pages,” that derive from the new System.Windows.Controls.Page class. Pages are addressable by URI, just like pages in a conventional Web application, and the new System.Windows.Controls.Frame class provides an API for navigating…

Silverlight 3’s New Assembly Caching

One of the overarching goals when designing a Silverlight application is to minimize the size of the XAP file. The smaller the XAP file, the faster the application loads. In Silverlight 2, one way to prevent external BCL assemblies such as System.Xml.Linq.dll from swelling the XAP file was to delay-load them, as described in this blog…

Silverlight 3’s New Out-of-Browser Applications

Silverlight is a browser plug-in that enables browser-based applications to display rich, XAML-based UIs, execute managed code, and leverage the .NET Framework Base Class Library. Thus it may come as a surprise to some that in Silverlight 3, applications are no longer restricted to the browser. Silverlight applications that run outside the browser are commonly referred…

Silverlight 3’s New GPU Acceleration

Another new and notable feature of Silverlight 3 is support for hardware acceleration. In Silverlight 1 and 2, all rendering was done in software, which meant that the performance of complex animations and video playback depended heavily on the capabilities of the host PC. Silverlight 3, however, can take advantage of hardware GPUs. You can…

Silverlight 3’s New Local Connections

One of the features of Silverlight 3 that developers are going to love is local connections, which enable Silverlight control instances to communicate with each other. Local connections use a publish/subscribe mechanism to connect senders and receivers. And they work just as well whether the control instances are in the same page (and the same…

Silverlight 3’s New Animation Easing

Easing is a new feature of Silverlight 3 for dressing up animations. I’ve often told students and conference audiences that you can’t simulate physics with simple linear animations (also known as “from/to” animations), and that you have to use key-frame animations instead. In Silverlight 2, for example, it’s easy to animate a ball dropping to…

Silverlight 3’s New Pixel Shaders

Silverlight 3 is loaded with new graphical goodies, and one of the goodies I’m most excited about is pixel shaders. A pixel shader is an object that transforms pixels output from the rendering pipeline before they’re rendered to the display surface. Silverlight 3 Beta 1 comes with two pixel shaders: BlurEffect and DropShadowEffect. The following example…

More on Silverlight 3’s Writeable Bitmap

One of the WPF features that I miss in Silverlight is VisualBrush. Among other things, VisualBrush makes it easy to generate simulated reflections. To create reflections in Silverlight, we typically declare a copy of all the XAML we want to reflect, use a ScaleTransform to flip the copy upside-down, and apply an Opacity or OpacityMask to complete…

Silverlight 3’s New Writeable Bitmap

Another of the exciting new features coming in Silverlight 3 is the WriteableBitmap class. Silverlight 2 had no API for creating bitmaps, but WriteableBitmap makes creating bitmaps on the fly easy as pie. In Beta 1, you can create bitmaps from scratch, but you can’t (yet) edit existing bitmaps–for example, bitmaps assigned to XAML images or…