This topic has not yet been rated - Rate this topic

Thickness Structure

Describes the thickness of a frame around a rectangle. Four Double values describe the Left, Top, Right, and Bottom sides of the rectangle, respectively.

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
[TypeConverterAttribute(typeof(ThicknessConverter))]
public struct Thickness : IEquatable<Thickness>
<Thickness .../>
<object property="left"/>
- or -
<object property="left,top"/>
- or -
<object property=" left,top,right,bottom" ... />

XAML Values

left

The left edge of the frame, described as either a Double value that specifies a device-independent units (1/96th inch per unit) measure, or as a qualifiedDouble (see below). If only a single measure is specified, that measure is applied to ALL of the left,top,right,bottom values of a Thickness. If only a pair of left,top measures are specified, these measures are applied symmetrically to a Thickness: the left value is used for right; the top value is used for bottom.

top

The top edge of the frame, described as either a Double value that specifies a device-independent units (1/96th inch per unit) measure, or as a qualifiedDouble (see below). If only a pair of left,top measures are specified, these measures are applied symmetrically to a Thickness: the left value is used for right; the top value is used for bottom.

right

The right edge of the frame, described as either a Double value that specifies a device-independent units (1/96th inch per unit) measure, or as a qualifiedDouble (see below). If left unspecified, will use the left value.

bottom

The bottom edge of the frame, described as either a Double value that specifies a device-independent units (1/96th inch per unit) measure, or as a qualifiedDouble (see below). If left unspecified, will use the left value.

qualifiedDouble

A double value as described above for any of the measures, followed by one of the following unit declaration strings: px, in, cm, pt.

px (default) is device-independent units (1/96th inch per unit)

in is inches; 1in==96px

cm is centimeters; 1cm==(96/2.54) px

pt is points; 1pt==(96/72) px

NoteNote

Values need not include the decimal point explicitly when specified as a string. The string "1" provided in XAML evaluates to a value of 1.0 when referenced in code.

The Thickness type exposes the following members.

  Name Description
Public method Thickness(Double) Initializes a new instance of the Thickness structure that has the specified uniform length on each side.
Public method Thickness(Double, Double, Double, Double) Initializes a new instance of the Thickness structure that has specific lengths (supplied as a Double) applied to each side of the rectangle.
Top
  Name Description
Public property Bottom Gets or sets the width, in pixels, of the lower side of the bounding rectangle.
Public property Left Gets or sets the width, in pixels, of the left side of the bounding rectangle.
Public property Right Gets or sets the width, in pixels, of the right side of the bounding rectangle.
Public property Top Gets or sets the width, in pixels, of the upper side of the bounding rectangle.
Top
  Name Description
Public method Equals(Object) Compares this Thickness structure to another Object for equality. (Overrides ValueType.Equals(Object).)
Public method Equals(Thickness) Compares this Thickness structure to another Thickness structure for equality.
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Returns the hash code of the structure. (Overrides ValueType.GetHashCode().)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns the string representation of the Thickness structure. (Overrides ValueType.ToString().)
Top
  Name Description
Public operator Static member Equality Compares the value of two Thickness structures for equality.
Public operator Static member Inequality Compares two Thickness structures for inequality.
Top

You can specify Thickness values in two ways. If you pass four Double values to the structure, they represent the Left, Top, Right and Bottom sides, respectively, of the bounding rectangle. You can also supply a single value, which applies a uniform value to all four sides of the bounding rectangle.

The following example shows how to create an instance of a Thickness structure and set its properties by using Extensible Application Markup Language (XAML) and code.


myBorder2 = new Border();
myBorder2.BorderBrush = Brushes.SteelBlue;
myBorder2.Width = 400;
myBorder2.Height = 400;
myThickness = new Thickness();
myThickness.Bottom = 5;
myThickness.Left = 10;
myThickness.Right = 15;
myThickness.Top = 20;
myBorder2.BorderThickness = myThickness;



<Border BorderBrush="SteelBlue" Width="400" Height="400" Canvas.Left="100" Canvas.Top="100">
  <Border.BorderThickness>
    10,20,15,5
  </Border.BorderThickness>
</Border>


More Code

How to: Set Margins of Elements and Controls This example describes how to set the Margin property, by changing any existing property value for the margin in code-behind. The Margin property is a property of the FrameworkElement base element, and is thus inherited by a variety of controls and other elements.
How to: Use a ThicknessConverter Object This example shows how to create an instance of ThicknessConverter and use it to change the thickness of a border.
How to: Animate the Thickness of a Border by Using Key Frames This example shows how to animate the BorderThickness property of a Border.

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ