FrameworkElement.Margin Property

FrameworkElement의 바깥쪽 여백을 가져오거나 설정합니다.

구문


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

균일한 Thickness를 지정하는 값(픽셀 단위)입니다. uniform 값이 네 개의 Thickness 속성(Left, Top, Right, Bottom) 모두에 적용됩니다.

left+right

대칭 ThicknessLeftRight를 지정하는 값(픽셀 단위)입니다.

top+bottom

대칭 ThicknessTopBottom를 지정하는 값(픽셀 단위)입니다.

left top right bottom

Thickness에 가능한 네 개의 차원 속성(Left, Top, Right, Bottom)을 지정하는 값(픽셀 단위)입니다.

참고  앞에 표시된 XAML 구문에서는 값 사이의 구분 기호로 쉼표 대신 공백을 사용할 수도 있습니다.

속성 값

형식: Thickness

개체의 여백 값을 제공합니다. 기본값은 모든 속성(크기)이 0인 기본 Thickness입니다.

설명

여백 동작 및 레이아웃

0보다 큰 여백 값은 개체의 ActualWidthActualHeight 바깥쪽에 공간을 만듭니다.

여백은 레이아웃의 피어 개체에 대해 합해집니다. 예를 들어 서로 인접하는 가장자리의 여백이 모두 30으로 설정된 가로나 세로로 인접하는 두 개체 사이에는 60픽셀의 공간이 있습니다.

일반적으로 여백이 설정되어 있는 개체는 할당된 사각형 공간이 여백과 개체의 콘텐츠 영역을 합한 부분보다 작은 경우 지정된 Margin의 크기를 제한하지 않습니다. 대신 레이아웃을 계산할 때 콘텐츠 영역이 제한됩니다. 여백에도 제한이 적용되는 경우는 내용에 이미 0까지 제한이 적용되어 있는 경우뿐입니다. 그러나 이 동작은 최종적으로 Margin을 해석하는 특정 형식 및 해당 개체의 레이아웃 컨테이너에서 제어합니다.

여백 크기로 음수 값을 사용할 수는 있지만 주의하여 사용해야 하며, 사용할 경우 서로 다른 클래스 레이아웃 구현에서 음수 여백이 다르게 해석될 수 있습니다. 여백 값으로 음수를 지정하면 일반적으로 해당 방향에서 개체의 콘텐츠가 잘립니다.

기술적으로는 여백 값에 정수가 아닌 값이 허용되지만 일반적으로 이러한 값은 사용하지 않아야 합니다.

여백 및 안쪽 여백

관련 개념은 안쪽 여백입니다. 개체 및 경계 상자의 경우 여백은 UI 요소가 포함되어 있고 렌더링될 때 경계 상자의 바깥쪽에 할당되는 추가 공간입니다. 안쪽 여백은 경계 상자 안의 영역이며 요소 내의 추가 콘텐츠 또는 자식 개체의 레이아웃에 영향을 미칩니다. FrameworkElement는 안쪽 여백 속성을 정의하지 않습니다. 하지만 몇몇 파생 클래스는 Padding 속성을 정의합니다. 이러한 항목은 다음과 같습니다.

여백과 안쪽 여백 간의 관계에 대한 자세한 내용은 빠른 시작: 레이아웃 정의를 참조하십시오.

예제

이 예제에서는 런타임에 UI 요소를 만든 다음 다양한 레이아웃 관련 속성을 설정하는 대규모 시나리오의 일부로 코드에 Margin을 설정합니다. 이는 주로 새 요소를 기존 XAML UI 페이지의 개체 트리에 추가하기 전에 수행됩니다. 이 경우 균일한 값 생성자로 만든 새 Thickness를 사용하여 몇 가지 Margin 속성이 설정됩니다.


    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);
    }
}


요구 사항

지원되는 최소 클라이언트

Windows 8

지원되는 최소 서버

Windows Server 2012

Namespace

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

Metadata

Windows.winmd

참고 항목

FrameworkElement
Thickness
빠른 시작: 레이아웃 정의

 

 

표시:
© 2015 Microsoft