WPF 컨테이너 컨트롤 개요

업데이트: 2007년 11월

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

Grid

가장 친숙한 컨테이너 컨트롤은 Grid 컨트롤입니다. 기본적으로 Windows Presentation Foundation(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의 위쪽에 도킹됩니다. DockPanel에서는 LastChildFill이라는 속성도 노출합니다. 이 속성이 true이면 DockPanel에 마지막으로 추가된 자식 컨트롤의 DockStyle 속성이 자동으로 true로 설정됩니다.

TabControl

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

참고 항목

기타 리소스

WPF 컨테이너 컨트롤

Grid

Canvas

StackPanel

WrapPanel

DockPanel

TabControl