Skip to content

Latest commit

 

History

History
79 lines (53 loc) · 4.87 KB

frameworkelement_margin.md

File metadata and controls

79 lines (53 loc) · 4.87 KB
-api-id -api-type
P:Windows.UI.Xaml.FrameworkElement.Margin
winrt property

Windows.UI.Xaml.FrameworkElement.Margin

-description

Gets or sets the outer margin of a FrameworkElement.

-xaml-syntax

<frameworkElement Margin="uniform"/>
- or -
<frameworkElement Margin="left+right,top+bottom"/>
- or -
<frameworkElement Margin="left,top,right,bottom"/>
 

-xaml-values

uniform
uniform A value measured in pixels that specifies a uniform Thickness. The uniform value is applied to all four Thickness properties (Left, Top, Right, Bottom).
left+right
left+right A value measured in pixels that specifies the Left and Right of a symmetrical Thickness.
top+bottom
top+bottomA value measured in pixels that specifies the Top and Bottom of a symmetrical Thickness.
left top right bottom
left top right bottom Values measured in pixels that specify the four possible dimension properties of a Thickness (Left, Top, Right, Bottom). In the XAML syntaxes shown previously, you can also use a space instead of a comma as the delimiter between values.
## -property-value Provides margin values for the object. The default value is a default [Thickness](thickness.md) with all properties (dimensions) equal to 0.

-remarks

Margin behavior and layout

A margin value greater than 0 applies space outside the object's ActualWidth and ActualHeight.

Margins are additive for peer objects in a layout; for example, two horizontally or vertically adjacent objects both with a margin of 30 set on the adjoining edge would have 60 pixels of space between them.

Objects that have margins set will not typically constrain the size of the specified Margin if the allotted rectangle space is not large enough for the margin plus the object's content area. The content area will be constrained instead when layout is calculated. The only case where margins would be constrained also is if the content is already constrained all the way to zero. However, this behavior is ultimately controlled by the specific type that is interpreting Margin, as well as the layout container of that object.

Negative values for margin dimensions are permitted, but should be used with caution (and be aware that negative margins can be interpreted differently by different class layout implementations). Negative margins typically clip the content of the object in that direction.

Non-integral values for margin values are technically permitted, but should typically be avoided.

Margin and Padding

A related concept is padding. For an object and its bounding box, the margin is extra space that is allocated to the outside of the bounding box when the UI element is contained and rendered. Padding is the area inside the bounding box, and affects the layout of any additional content or child objects inside the element. FrameworkElement does not define a padding property, However, several derived classes do define a Padding property. These include:

-examples

This example sets Margin in code as part of a larger scenario of creating a UI element at run time, and then setting various layout-related properties. This is often done prior to adding a new element to an existing XAML UI page's object tree. In this case several Margin properties are set using a new Thickness created with the uniform-value constructor.

[!code-csharpGridClassCode]

[!code-vbGridClassCode]

-see-also

Thickness, Alignment, margin, and padding, Define layouts with XAML 4162-1c9c-48f4-8a94-34976fb17079)