FrameworkElement.Margin Property

Obtiene o establece el margen exterior de FrameworkElement.

Sintaxis


public Thickness Margin { get; set; }


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

XAML Values

uniform

Un valor medido en píxeles que especifica un valor de Thickness uniforme. El valor uniform se aplica a las cuatro propiedades de Thickness (Left, Top, Right y Bottom).

left+right

Un valor medido en píxeles que especifica los valores Left y Right de un valor de Thickness simétrico.

top+bottom

Un valor medido en píxeles que especifica los valores Top y Bottom de un valor de Thickness simétrico.

left top right bottom

Valores medidos en píxeles que especifican las cuatro posibles propiedades de dimensión de Thickness (Left, Top, Right, Bottom).

Nota  En las sintaxis XAML mostrada anteriormente, se puede usar también un espacio en lugar de una coma como delimitador entre valores.

Valor de propiedades

Tipo: Thickness

Proporciona los valores de margen para el objeto. El valor predeterminado es una estructura Thickness predeterminada con todas las propiedades (dimensiones) iguales a 0.

Comentarios

Comportamiento del margen y diseño

Un valor de margen mayor que 0 aplica un espacio fuera de las propiedades ActualWidth y ActualHeight del objeto.

Los márgenes son adicionales para los objetos del mismo nivel de un diseño; por ejemplo, dos objetos adyacentes horizontal o verticalmente con un margen de 30 establecido en el borde inmediato tendrían 60 píxeles de espacio entre ellos.

Los objetos que tienen márgenes establecidos no restringen normalmente el tamaño de la propiedad Margin especificada si el espacio del rectángulo asignado no es lo suficientemente grande para el margen más el área de contenido del objeto. En su lugar, el área de contenido se restringe cuando se calcula el diseño. El único caso en el que se restringirían los márgenes también es cuando el contenido ya se ha restringido hasta cero. Sin embargo, este comportamiento está controlado finalmente por el tipo específico que está interpretando Margin, así como el contenedor de diseño de ese objeto.

Se permiten valores negativos para las dimensiones de margen, pero se deben utilizar con precaución (y saber que los márgenes negativos los interpretan de manera diferente las distintas implementaciones del diseño de clase). Los márgenes negativos recortarán normalmente el contenido del objeto en esa dirección.

Los valores no enteros para valores de margen están técnicamente permitidos, pero se deben evitar en general.

Margen y relleno

Un concepto relacionado es relleno. Para un objeto y su cuadro de límite, el margen es un espacio extra que se asigna al exterior del cuadro de límite cuando el elemento de la interfaz de usuario está contenido y presentado. El área de relleno es aquella que se encuentra dentro del cuadro de límite y afecta al diseño de cualquier contenido adicional u objetos secundarios incluidos en el elemento. FrameworkElement no define una propiedad Padding. Sin embargo, varias clases derivadas definen una propiedad Padding. Incluyen los siguientes:

Para obtener más información sobre la relación entre el margen y el relleno, vea Inicio rápido: definir diseños.

Ejemplos

Este ejemplo establece Margin en el código como parte de un mayor escenario de creación de un elemento de interfaz de usuario en tiempo de ejecución, y de configuración de distintas propiedades relacionadas con el diseño. Esto se hace con frecuencia antes de agregar un nuevo elemento al árbol de objetos de una página existente de la interfaz de usuario de XAML. En este caso, se establecen varias propiedades Margin mediante una nueva estructura Thickness creada con el constructor de valor uniforme.


    public Page()
    {
        InitializeComponent();
        LayoutDesign();
    }

    private void LayoutDesign()
    {
        //Create Stackpanel for ListBox Control and its description
        StackPanel DeptStackPanel = new StackPanel();
        DeptStackPanel.Margin = new Thickness(10);

        LayoutRoot.Children.Add(DeptStackPanel);
        Grid.SetColumn(DeptStackPanel, 1);
        Grid.SetRow(DeptStackPanel, 1);

        TextBlock DeptListHeading = new TextBlock();
        DeptListHeading.Text = "Department";

        ListBox DeptList = new ListBox();
        DeptList.Items.Add("Finance");
        DeptList.Items.Add("Marketing");
        DeptList.Items.Add("Human Resources");
        DeptList.Items.Add("Payroll");

        DeptStackPanel.Children.Add(DeptListHeading);
        DeptStackPanel.Children.Add(DeptList);

        //Create StackPanel for buttons
        StackPanel ButtonsStackPanel = new StackPanel();
        ButtonsStackPanel.Margin = new Thickness(10);
        ButtonsStackPanel.Orientation = Orientation.Horizontal;
        ButtonsStackPanel.HorizontalAlignment = HorizontalAlignment.Center;

        LayoutRoot.Children.Add(ButtonsStackPanel);
        Grid.SetColumn(ButtonsStackPanel, 0);
        Grid.SetRow(ButtonsStackPanel, 2);
        Grid.SetColumnSpan(ButtonsStackPanel, 2);

        Button BackButton = new Button();
        BackButton.Content = "Back";
        BackButton.Width = 100;

        Button CancelButton = new Button();
        CancelButton.Content = "Cancel";
        CancelButton.Width = 100;

        Button NextButton = new Button();
        NextButton.Content = "Next";
        NextButton.Width = 100;

        ButtonsStackPanel.Children.Add(BackButton);
        ButtonsStackPanel.Children.Add(CancelButton);
        ButtonsStackPanel.Children.Add(NextButton);

        BackButton.Margin = new Thickness(10);
        CancelButton.Margin = new Thickness(10);
        NextButton.Margin = new Thickness(10);
    }
}


Requisitos

Cliente mínimo admitido

Windows 8

Servidor mínimo admitido

Windows Server 2012

Espacio de nombres

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadatos

Windows.winmd

Vea también

FrameworkElement
Thickness
Inicio rápido: definir diseños

 

 

Mostrar:
© 2015 Microsoft