Setting colors, brushes, and masks

Changing the visual look of an object is a fundamental task in Microsoft Expression Blend. By using the properties under both Appearance and Brushes in the Properties panel, you can change the stroke color, fill color, opacity, and visibility of a selected object. Depending on what type of object you select in your Expression Blend project, the properties of the Appearance and Brushes categories dynamically adjust to the content of the object to reflect the appropriate visual attributes.

Much of changing the appearance of an object relates to applying brushes to specific properties. The following table describes these properties.




Sets the brush that is applied to the interior of a shape or path.


Sets the brush that is applied to the outline (border) of a shape or path.


Sets the brush that is applied to the background of an object. This property is typically applied to the background of controls that display text, such as the Button or TextBlock control.


Sets the brush that is applied to the foreground of an object. This property is typically applied to the text that is displayed in controls, such as the Button or TextBlock control.


Sets the brush that is applied to the border on certain controls.


Sets the opacity of the whole object.


Determines whether an object is visible or hidden at run time. Child objects can also be affected by the visibility of the parent element.


Sets a brush whose color is ignored and whose opacity is transferred to the masked object. Wherever the opacity mask is opaque, the masked object will be opaque; wherever the opacity mask is transparent, the masked object will be transparent.

Brushes are used to set the visual appearance of an object on the artboard. For example, you can use a solid blue brush for the fill of a rectangle (as in the first image that follows). Brushes come in several forms, from simple solid color or gradient brushes to more complex tile brushes. The following table describes the brushes that are available in Expression Blend. Additionally, you can use No brushCc294765.706bbd5c-c0e0-43a1-9604-297f019d0275(en-us,Expression.30).png to remove all color from the selected property. For example, to create an outline of a rectangle, you could set the Fill of the rectangle to No brush, and set the Stroke to a Solid color brush.




Solid color brush


Composed of a single color.

Linear gradient brush


Composed of a linear color gradation.

Radial gradient brush


Composed of a radial color gradation.

Image brush


Created from an image. From left to right as shown here: the initial image brush, the image brush tiled, and the image brush flipped.

Drawing brush


Created from a vector drawing. From left to right as shown here: the initial drawing brush, the drawing brush tiled, and the drawing brush flipped.

Visual brush


Created from a control such as a button. From left to right as shown here: the initial button and the brush with a Tile mode set to Tile. Note that visual brushes can potentially decrease the performance of the running application, because of the complexity of the control that is used to create the visual brush.

After you create a brush on an object, you can convert the brush to a resource that you can then apply to other objects.

Brush resources are not restricted to single brush or color properties. You can create a brush resource by using several objects on the artboard. You can even create a brush called a VisualBrush that updates its appearance during runtime if the objects that it was created from change during runtime.

You can create resource dictionaries for your brushes so that you can reuse them throughout your project, or even in other projects.

For more information, see Create a brush or color resource and Convert objects into a reusable brush resource.

For information about resources, see Creating reusable resources.

Expression Blend includes a color editor under Brushes in the Properties panel. The color editor also appears if you modify a brush resource in the Resources panel. The color editor has the following four color spaces, in addition to a hexadecimal mode (#AARRGGBB):

  • RGB   Red (0-255), Green (0-255), Blue (0-255).

  • HLS   Hue (360-degree color wheel), Lightness (0 to 100 percent), Saturation (0 to 100 percent).

  • HSB   Hue (360-degree color wheel), Saturation (0 to 100 percent), Brightness (0 to 100 percent).

  • CMYK   Cyan (0 to 100 percent), Magenta (0 to 100 percent), Yellow (0 to 100 percent), Black (0 to 100 percent).

To change between color spaces, click one of the underlined letters in the current color space to see a pop-up menu of the alternative color spaces.

Expression Blend provides two tools that are designed specifically to copy and apply attributes to and from objects. The following properties are copied or applied during Eyedropper and Paint Bucket actions:

  • Brushes   Foreground, Background, Border Brush, Fill, Stroke, and Opacity Mask

  • Appearance   Opacity, Stroke Thickness, Stroke Miter Limit, Stroke Start Line Cap, Stroke End Line Cap, Stroke Line Join, and Stroke Dash Cap

  • Text   Font Family, Font Size, Font Weight, Font Style, Text Decorations, Line Height, Text Indent, and Text Alignment


Eyedropper tool

Copies the appearance of another object to the currently selected object or objects.


Paint Bucket tool

Copies the appearance of the currently selected object or objects to another object.

For more information about the Eyedropper and Paint Bucket tools, see Copy or apply attributes to an object.

A Color eyedropper Cc294765.2ab2d2fb-3478-4b33-87fb-3cdeb9df4d52(en-us,Expression.30).png also appears in the lower-right corner of the color Editor when you modify a Solid color brush Cc294765.3a66ec96-47bb-47fc-8876-6b9456feec3a(en-us,Expression.30).png or a gradient stop on a Gradient brush Cc294765.91fb0c61-7b3b-4ae7-8a59-760e625e3bd7(en-us,Expression.30).png. With this eyedropper selected, you can grab a color sample from anywhere on your desktop and apply it to the selected brush. You can press the ESC key at any time to cancel out of the eyedropper.

Gradients enable you to apply a graduated blend of colors to an object, to create a smooth color gradation and to give that object more depth. Perhaps you want to use that object as a background where the left side of the object contains a solid color that gradually fades to white on the right side of the object. This enables you to create two distinguishable areas from an otherwise flat object.

Click LinearGradient Brush Cc294765.bd5eefed-9628-4363-be5d-29bfb5962175(en-us,Expression.30).pngand Radial gradient Cc294765.4279aa9a-15c2-4435-9937-6848afc38618(en-us,Expression.30).png under Brushes in the Properties panel to switch between the two gradient brush types.

You can use the two types of gradient brushes to create gradient fills, gradient strokes, text that has a gradient for its Foreground property, or gradient backgrounds for any element that has a Background property. When you apply a gradient to an appearance property, notice that small icons Cc294765.a3c9e482-e99b-4504-8a02-9507487d1791(en-us,Expression.30).png, known as stops, appear on the gradient slider. You can change the color of each gradient stop, and add as many stops as you want to the gradient slider by just clicking the gradient slider. Conversely, you can easily remove stops that you no longer need by dragging them off the bottom of the gradient slider (dragging off the sides or top of the slider will not remove the stops).

You can also set some options when you use a gradient brush. Click Advanced property options Cc294765.de239c9d-42ce-4f5e-83b9-5f9924c0431f(en-us,Expression.30).png under Brushes in the Properties panel to set the SpreadMethod property to one of the following:

  • Pad   Extends the colors of the outermost gradient stops to the edges of the object.

  • Reflect   Mirrors the gradient fill.

  • Repeat   Repeats the gradient fill.

These options work on both linear and radial gradient brushes when you use Brush TransformCc294765.8dc54a0d-02cc-44cd-b802-5a78309f4503(en-us,Expression.30).png to modify the brush. For more information, see the "Brush transform tool" section that follows.

To transform the fill, stroke, opacity mask, or other brush that is applied to an object, select the brush property in the Properties panel, and then select Brush TransformCc294765.8dc54a0d-02cc-44cd-b802-5a78309f4503(en-us,Expression.30).png in the Tools panel. A brush transform arrow appears on the artboard that you can modify with your mouse pointer. If you are using a gradient brush, the endpoints of the transform arrow correspond to the gradient stops at either end of the color bar. You can change the behavior of the brush transform tool in the following ways:

  • Hold down the SHIFT key when you drag an endpoint to constrain the movement along the straight line between the endpoints.

  • Hold down the SHIFT key when you move the whole arrow to constrain the movement to the X or the Y plane.

  • Hold down the SHIFT key when you rotate an endpoint to snap every 15 degrees.

  • Hold down the ALT key when you drag an endpoint to move both endpoints at the same time, maintaining the position of the center point.

The following images demonstrate the appearance of a rectangle object after various transformations are applied to the gradient brush of the Fill property.


Transformations applied to the linear gradient brush of a rectangle


Transformations applied to the radial gradient brush of a rectangle

You can optionally set the spread method of a gradient brush when you click Advanced property options Cc294765.de239c9d-42ce-4f5e-83b9-5f9924c0431f(en-us,Expression.30).png under Brushes in the Properties panel, and then set the SpreadMethod property. In the previous image, the Pad option is selected. If you selected the Reflect or Repeat option, and then made the transform arrow shorter than the object, you would see a corrugated effect.

You can transform brush types other than gradient brushes. For more information about brush transforms, see Transform a gradient or tile brush.

When you transform a brush, parts of the object will sometimes be clipped (that is, parts will disappear outside the bounding box). You can fix clipping problems in the following ways:

  • Clear the check box for the ClipToBounds property under Appearance in the Properties panel.

  • Use the properties in the LayoutTransform category instead of RenderTransform under Transform in the Properties panel. This is especially useful when you transform a visual brush.

Strokes are the borders on objects. You can change the applied brush (solid, gradient, or tile), opacity, width, and miter limit of the stroke on an object, in addition to the corner join and end-cap styles. The stroke on an object is always applied on top of a fill, even if you have no fill applied to that object. To make any changes to the stroke of an object, you must have Stroke selected in the list under Brushes in the Properties panel.

  • Stroke width   The width of a stroke on an object is measured in pixels (or, device-independent units, which are approximately 1/96 inch) and can have a value ranging from 0 to up to half of the width or height of the shape. In general, after the stroke thickness reaches half of the width and height of the shape, the stroke covers the whole fill. You can set the stroke width value by using the StrokeThickness property under Appearance in the Properties panel.

  • Corner joins   For objects that have sharp corners, such as rectangles, you can change the way the stroke appears at each corner point by applying one of three corner join styles: Miter JoinCc294765.25182a96-9a69-478a-9cfe-5b360e6a9bea(en-us,Expression.30).png, Round JoinCc294765.05fe4b1d-f584-4bd2-99b6-8bc2d735a89d(en-us,Expression.30).png, and Bevel JoinCc294765.f0c1ff71-7814-42ba-806b-7ea92d616e69(en-us,Expression.30).png. You can set the corner join style by using the StrokeLineJoin property under Appearance in the Properties panel.

  • Miter limit   The miter limit controls how long the corner point of a miter join can get before it is automatically squared off into a bevel join. You can set the miter limit by using the StrokeMiterLimit property under Appearance in the Properties panel. The following image displays three angles with a StrokeThickness of 40, and a StrokeMiterLimit of 1 Cc294765.25182a96-9a69-478a-9cfe-5b360e6a9bea(en-us,Expression.30).png, 2.2 Cc294765.05fe4b1d-f584-4bd2-99b6-8bc2d735a89d(en-us,Expression.30).png, and 4 Cc294765.f0c1ff71-7814-42ba-806b-7ea92d616e69(en-us,Expression.30).png. The size of the angle and the stroke thickness determine the visual effect of the miter limit.

  • End caps   For paths that contain unconnected ends, such as lines, you can change the way the stroke appears at each end by applying one of four end-cap styles: Flat Cap Cc294765.25182a96-9a69-478a-9cfe-5b360e6a9bea(en-us,Expression.30).png, Round Cap Cc294765.05fe4b1d-f584-4bd2-99b6-8bc2d735a89d(en-us,Expression.30).png, Square Cap Cc294765.f0c1ff71-7814-42ba-806b-7ea92d616e69(en-us,Expression.30).png, and Triangle Cap Cc294765.eb6fad93-f17e-4f62-a926-8c8651862891(en-us,Expression.30).png. You can set the end-cap style by using the StrokeEndLineCap or StrokeStartLineCap properties under Appearance in the Properties panel.


When you decrease the opacity of an object, you increase its transparency, so that you can see other objects that are behind it. Opacity is controlled by an alpha channel that stores all the transparency information for an object, gradient, or opacity mask. The following table describes three methods that you can select from to change the opacity of the object.



Opacity   Changes the transparency of the whole object, including all the visual attributes of the object. The image to the right shows the opacity value set at 60 percent.


Transparency   Sets the alpha value (A) of an individual brush attribute for an object, such as the fill or stroke, slightly transparent without having to change all attributes on a single object. The image to the right shows that only the fill for the ellipse is more transparent, because the alpha value for the fill is set to 50 percent. The stroke for the ellipse remains at 100 percent.


Visibility   Enables you to hide or show an object at different times. This is especially effective in animation when you do not want to remove an object completely from the artboard. In the image to the right, the left object that has a blue fill and a thick black stroke and that is part of the previous two images in this table is now set as Hidden.


Community Additions