A better Slider for Windows Phone 7

The Slider control as shipped with the Windows Phone Developer Tools has some problems, both due to how it was templated, and also because it was originally designed for the desktop, where mice are very good at hitting small targets. The visible Thumb was removed, and the invisible Thumb, even when you know where it…

18

Panorama Tricks – Using XAML for your Background

If you are doing Windows Phone 7 development, chances are that you are either using or have considered using the Panorama. To make a truly glorious Panorama application, to immerse the user in the experience, or for branding purposes, many applications pay a lot of attention to the background. The Panorama has a Background property…

4

Panorama Tricks – Using WrapPanel in wide PanoramaItems

The Silverlight for Windows Phone Toolkit also includes the WrapPanel from the Silverlight Tookit. It is ideal for displaying content in wide PanoramaItems. The sample application that ships with the Silverlight for Windows Phone Toolkit source includes an example of this. Since the subject has come up a few times, here’s how you do it:…

1

Panorama Tricks – How to eliminate blending seams in the background

If your Windows Phone 7 application includes a Panorama with a background, you may have seen seams—one pixel wide lines darker than the background image’s color—where the background loops around and the right edge meets the left edge, or vice versa. This happens when background is being animated, during panning, flicking, etc., and the background…

0

Customizing a ToolTip

(Special thanks to Andre Michaud and Mike Russell who showed me how to do this.) ToolTips are quite useful for for displaying helpful information when the user hovers over a control. The way that ToolTips are usually used is by setting the ToolTipService.ToolTip property to some text. This will display the text in a rather…

13

Control Lifecycle

What happens when you create a Control? When do overrides get called and events get raised? When do styles get applied? In response to this thread on silverlight.net, I’ve whipped this simple table up. There are some subtle differences between instantiating a control in XAML, and instantiating it via code that I’ve called out, but…

12

Retemplating a Standard Control (Including VisualStateManager Stuff)

This example demonstrates how to give a Button new visuals and visual state by re-templating. It also includes what to do with all of the existing VisualStateManager stuff, but first it discusses various ways of modifying existing controls. There are a few different ways of modifying an existing Control, with varying degrees of depth and…

2

Silverlight Layout Fundamentals Part 2 – Layout Containers

In Layout Fundamentals Part 1, I started slowly, and demonstrated the need for a layout system. I touched on what it can do for you, and layout containers and properties. This post covers the layout containers and some layout concepts in a bit more detail. I will touch on some properties that affect layout; those…

3

Silverlight Layout Fundamentals Part 1 – What is Layout?

This is the first part of a series of articles on Silverlight 2’s layout system. I’m going to start off slowly, and demonstrate the need for a layout system, then explain some more about what "layout" actually is and what the Silverlight 2 layout system can do. Silverlight 1.0 did not have layout functionality. Silverlight…

3

Layout Transitions – An Animatable WrapPanel

  I’ve been playing around with RenderTransforms and decorators and such to make layout transitions, but for this WrapPanel, my goal was to introduce no additional UI elements, animations or transforms. I also wanted to use some easing equations to do some cool transitions, and separate that logic from the WrapPanel. I wanted the elements the be…

10