WPF 컨테이너 컨트롤 개요

Grid, Canvas, StackPanel 등의 컨테이너 컨트롤을 사용하면 기본 제공 레이아웃 기능을 제공하여 다양한 기능의 사용자 인터페이스를 빠르게 디자인할 수 있습니다. 각 컨테이너 컨트롤은 포함된 컨트롤의 레이아웃 및 위치를 처리하며 포함된 컨트롤에 위치를 지정하는 데 사용되는 속성을 제공할 수 있습니다. 이 항목에서는 다양한 유형의 컨테이너 컨트롤에 대해 간략히 설명하고 포함된 컨트롤의 레이아웃에 주는 영향을 설명합니다.

레이아웃 반올림

컨테이너 컨트롤의 UseLayoutRounding 속성을 설정하여 MeasureArrange 단계 중 계산된 비정수 픽셀 값이 정수 픽셀 값으로 반올림되는 시기를 지정합니다. 이 속성은 자식 컨트롤에 상속됩니다.

모눈

가장 친숙한 컨테이너 컨트롤은 Grid 컨트롤입니다. 기본적으로 WPF Designer for Visual Studio에서 열린 각각의 새 Window에는 Grid 컨트롤이 포함되어 있습니다. Grid를 사용하면 사용자 정의 가능한 셀 내에 컨트롤을 배치할 수 있습니다. 셀에 배치된 컨트롤의 경우 Window 크기가 조정되어도 두 개 이상의 컨트롤 가장자리와 셀 가장자리 사이의 여백이 고정된 채로 유지됩니다. 여백 설정 방법에 대한 자세한 내용은 방법: WPF 디자이너에서 컨트롤의 여백 설정을 참조하십시오.

Window에 추가될 때 Grid 컨트롤은 단일 셀로 구성됩니다. 그러나 코드나 WPF Designer에서 세로 및 가로 행을 추가할 수 있습니다. 자세한 내용은 방법: 표에 행 및 열 추가를 참조하십시오.

UniformGrid

UniformGrid 컨트롤에서는 단순한 컨트롤용 모눈 레이아웃을 제공합니다. UniformGrid에 컨트롤이 추가되면 해당 컨트롤은 컨트롤 간의 거리를 일정하게 유지하도록 자동으로 조정되는 모눈 패턴으로 레이아웃됩니다. 셀 수는 컨트롤 수에 맞게 조정됩니다. 예를 들어 UniformGrid에 네 개의 컨트롤이 추가되면 해당 컨트롤은 네 개의 셀로 구성된 모눈에 정렬됩니다.

Canvas

Canvas 컨트롤은 절대 위치를 지원하며 포함된 컨트롤에 대해 최소한의 기본 제공 레이아웃 기능을 제공합니다. Canvas를 사용하면 패널 컨트롤을 패널 모퉁이를 기준으로 한 오프셋에 배치할 수 있습니다. Canvas는 포함된 컨트롤에 Top, Bottom, RightLeft라는 네 개의 속성을 제공합니다. Canvas 컨트롤에 포함된 컨트롤에서는 가로 속성 하나와 세로 속성 하나, 즉 컨트롤이 오프셋되는 모퉁이를 지정해야 합니다. 예를 들어 컨트롤에서 TopRight의 값을 지정할 경우 해당 컨트롤은 오른쪽 위 모퉁이와 일정 거리를 유지합니다. 둘 이상의 가로 또는 세로 속성 값이 지정되어 있으면 해당 값 중 하나는 무시됩니다. 자세한 내용은 방법: 절대 위치를 기반으로 하는 레이아웃 만들기를 참조하십시오.

StackPanel

StackPanel에서는 포함된 컨트롤을 Orientation 속성 값에 따라 세로 스택 또는 가로 행으로 정렬합니다. StackPanel의 너비에 표시할 수 있는 것보다 많은 컨트롤을 StackPanel에 추가하면 컨트롤이 표시되지 않고 잘립니다.

WrapPanel

WrapPanel은 컨트롤이 Orientation 속성에 따라 스택 또는 행으로 배치된다는 점에서 StackPanel과 비슷합니다. WrapPanel에서는 포함된 컨트롤에 대해 스택 방식 외에 줄 바꿈도 지원합니다. 따라서 WrapPanel의 너비에 표시할 수 있는 것보다 많은 컨트롤을 WrapPanel에 추가하면 컨트롤이 줄 바꿈되어 추가 스택 또는 행을 구성합니다.

DockPanel

DockPanel에서는 패널의 한 쪽에 도킹할 도구 모음이나 기타 컨트롤을 쉽게 배치할 수 있도록 도킹을 지원합니다. DockPanel 컨트롤에서는 포함된 컨트롤에 위치가 지정되는 방식을 결정하는 DockStyle 속성을 제공합니다. 예를 들어 DockStyle 속성이 DockStyle.Top으로 설정된 컨트롤은 DockPanel의 맨 위에 고정됩니다. DockPanelLastChildFill이라는 속성도 노출합니다. 이 속성이 true이면 DockPanel에 마지막으로 추가된 자식 컨트롤의 DockStyle 속성이 자동으로 true로 설정됩니다.

TabControl

TabControl 클래스는 화면에서 같은 공간을 공유하는 여러 개의 탭 항목을 포함합니다. WPF Designer를 사용하여 탭 항목을 추가 및 제거할 수 있습니다. 자세한 내용은 방법: TabControl에 탭 항목 추가를 참조하십시오.

참고 항목

기타 리소스

WPF 컨테이너 컨트롤

Grid

Canvas

StackPanel

WrapPanel

DockPanel

TabControl