Export (0) Print
Expand All
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.

  NameDescription
Public methodThickness(Double)Initializes a new instance of the Thickness structure that has the specified uniform length on each side.
Public methodThickness(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
  NameDescription
Public propertyBottomGets or sets the width, in pixels, of the lower side of the bounding rectangle.
Public propertyLeftGets or sets the width, in pixels, of the left side of the bounding rectangle.
Public propertyRightGets or sets the width, in pixels, of the right side of the bounding rectangle.
Public propertyTopGets or sets the width, in pixels, of the upper side of the bounding rectangle.
Top
  NameDescription
Public methodEquals(Object)Compares this Thickness structure to another Object for equality. (Overrides ValueType.Equals(Object).)
Public methodEquals(Thickness)Compares this Thickness structure to another Thickness structure for equality.
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeReturns the hash code of the structure. (Overrides ValueType.GetHashCode().)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns the string representation of the Thickness structure. (Overrides ValueType.ToString().)
Top
  NameDescription
Public operatorStatic memberEqualityCompares the value of two Thickness structures for equality.
Public operatorStatic memberInequalityCompares 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 ControlsThis 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 ObjectThis 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 FramesThis 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)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.