System.Windows.Media Namesp ...


.NET Framework Class Library
SolidColorBrush Class

Paints an area with a solid color.

Namespace:  System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Syntax

Visual Basic (Declaration)
Public NotInheritable Class SolidColorBrush _
    Inherits Brush
Visual Basic (Usage)
Dim instance As SolidColorBrush
C#
public sealed class SolidColorBrush : Brush
Visual C++
public ref class SolidColorBrush sealed : public Brush
JScript
public final class SolidColorBrush extends Brush
XAML Object Element Usage
<SolidColorBrush .../>
XAML Attribute Usage
<object property="predefinedBrushName"/>
- or -
<object property="#rgb"/>
- or -
<object property="#argb"/>
- or -
<object property="#rrggbb"/>
- or -
<object property="#aarrggbb"/>
- or -
<object property="sc#scA,scR,scG,scB"/>
- or -
<object property="ContextColor profileUri alphaValue,colorValue"/>

XAML Values

predefinedBrushName

The name of a brush defined by the Brushes class, such as Blue or Orange.

rgb

A three-digit hexadecimal number that describes this brush's Color. The first digit specifies the color's R value, the second digit specifies the G value, and the third digit specifies the B value. For example, 00F.

argb

A four-digit hexadecimal number that describes this brush's Color. The first digit specifies the color's A value, the second digit specifies its R value, the next digit specifies the G value, and the final digit specifies its B value. For example, F00F.

rrggbb

A six-digit hexadecimal number that describes this brush's Color. The first two digits specify the color's R value, the next two specify its G value, and the final two specify its B value. For example, 0000FF.

aarrggbb

An eight-digit hexadecimal number that describes this brush's Color. The first two digits specify the color's A value, the next two specify its R value, the next two specify its G value, and the final two specify its B value. For example, FF0000FF.

scA

Single

The ScA value of this brush's Color.

scR

Single

The ScR value of this brush's Color.

scG

Single

The ScG value of this brush's Color.

scB

Single

The ScB value of this brush's Color.

profileUri

System..::.Uri

The International Color Consortium (ICC) or Image Color Management (ICM) color profile.

alphaValue

System..::.Single

The alpha channel color value. The value range is from 0.0 through 1.0.

colorValue

A comma-delimited list of three to eight values that represent the color channels of the color profile. The value range is from 0.0 through 1.0.

Remarks

For convenience, the Brushes class provides a set of commonly used SolidColorBrush objects, such as Blue and Yellow.

Freezable Features: Because it inherits from the Freezable class, the SolidColorBrush class provides several special features: SolidColorBrush objects can be declared as resources, shared among multiple objects, made read-only to improve performance, cloned, and made thread-safe. For more information about the different features provided by Freezable objects, see the Freezable Objects Overview.

Examples

To paint an area with a solid color, you can use a predefined system brush, such as Red or Blue, or you can create a new SolidColorBrush and describe its Color using alpha, red, green, and blue values. In XAML, you may also paint an area with a solid color by using hexidecimal notation.

The following examples uses each of these techniques to paint a Rectangle blue.

Using a Predefined Brush

In the following example uses the predefined brush Blue to paint a rectangle blue.

XAML
<Rectangle Width="50" Height="50" Fill="Blue" />
C#
// Create a rectangle and paint it with
// a predefined brush.
Rectangle myPredefinedBrushRectangle = new Rectangle();
myPredefinedBrushRectangle.Width = 50;
myPredefinedBrushRectangle.Height = 50;
myPredefinedBrushRectangle.Fill = Brushes.Blue;

For a list of predefined brushes, see the Brushes class.

xaml

Using Hexadecimal Notation

The next example uses 8-digit hexadecimal notation to paint a rectangle blue.

XAML
<!-- Note that the first two characters "FF" of the 8-digit
     value is the alpha which controls the transparency of 
     the color. Therefore, to make a completely transparent
     color (invisible), use "00" for those digits (e.g. #000000FF). -->
<Rectangle Width="50" Height="50" Fill="#FF0000FF" />

Using ARGB Values

The next example creates a SolidColorBrush and describes its Color using the ARGB values for the color blue.

XAML
<Rectangle Width="50" Height="50">
  <Rectangle.Fill>
    <SolidColorBrush>
     <SolidColorBrush.Color>

        <!-- Describes the brush's color using
             RGB values. Each value has a range of 0-255.  
             R is for red, G is for green, and B is for blue.
             A is for alpha which controls transparency of the
             color. Therefore, to make a completely transparent
             color (invisible), use a value of 0 for Alpha. -->
        <Color A="255" R="0" G="0" B="255" />
     </SolidColorBrush.Color>
    </SolidColorBrush>
  </Rectangle.Fill>
</Rectangle>
C#
Rectangle myRgbRectangle = new Rectangle();
myRgbRectangle.Width = 50;
myRgbRectangle.Height = 50;
SolidColorBrush mySolidColorBrush = new SolidColorBrush();

// Describes the brush's color using RGB values. 
// Each value has a range of 0-255.
mySolidColorBrush.Color = Color.FromArgb(255, 0, 0, 255);
myRgbRectangle.Fill = mySolidColorBrush;           

For other ways of describing color, see the Color structure.

Related Topics

For more information about SolidColorBrush and additional examples, see the Painting with Solid Colors and Gradients Overview overview.

This code example is part of a larger example provided for the SolidColorBrush class. For the complete sample, see the Brushes Sample.

More Code

How to: Animate the Color or Opacity of a SolidColorBrush This example shows how to animate the Color and Opacity of a SolidColorBrush.
Inheritance Hierarchy

System..::.Object
  System.Windows.Threading..::.DispatcherObject
    System.Windows..::.DependencyObject
      System.Windows..::.Freezable
        System.Windows.Media.Animation..::.Animatable
          System.Windows.Media..::.Brush
            System.Windows.Media..::.SolidColorBrush
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0
See Also

Reference

Other Resources

Tags :


Page view tracker