wpf grid 예제

컨트롤의 크기 조정 동작은 앵커를 정의하는 수평 정렬 및 수직 정렬 속성에 의해 정의됩니다. 앵커와 그리드 선 사이의 거리는 SharedSizeGroup에 대해 동일한 값을 사용하기 때문에 첫 번째 그리드의 첫 번째 열과 두 번째 그리드의 두 번째 열 사이의 크기를 공유하는 컨트롤의 여백에 의해 지정됩니다. 그리드는 행과 열의 테이블 구조로 자식 컨트롤을 정렬하는 레이아웃 패널입니다. 이 기능은 HTML 테이블과 비슷하지만 더 유연합니다. 셀에는 여러 컨트롤이 포함될 수 있으며 여러 셀에 걸쳐 있을 수 있으며 심지어 겹칠 수도 있습니다. 그리드 스플리터를 정렬하는 가장 좋은 방법은 자체 자동 크기의 열에 배치하는 것입니다. 이렇게 하면 인접한 셀에 겹치는 것을 방지할 수 있습니다. 그리드 스플리터가 이전 셀과 다음 셀의 크기를 변경하도록 하려면 크기 조정을 이전AndNext로 설정해야 합니다. 기본적으로 행과 열은 지정된 행 또는 열에 포함된 셀 내의 가장 큰 콘텐츠를 수용하는 데 필요한 최소한의 공간을 차지합니다. 예를 들어 열에 “hippopotamus”와 같은 긴 단어가 있는 셀이 하나 있지만 열의 다른 모든 셀에 “dog”와 같은 작은 단어가 있는 경우 열의 너비는 가장 큰 단어(hippopotamus)의 너비가 됩니다. ColumnDefinition의 SharedSizeGroup 속성을 사용하여 데이터 템플릿이 있는 ListBox에서 일관된 열 크기로 이어질 수 있습니다. 이는 목록의 각 항목에 그리드의 자체 인스턴스가 있고 열 크기가 서로 다른 그리드에서 공유되기 때문에 작동합니다.

아래 예제에서는 첫 번째 및 세 번째 열의 너비를 자동으로 설정하고 동일한 SharedSizeGroup에 넣었습니다. 또한 연결된 속성 Grid.Row 및 Grid.Column을 사용하여 그리드에 컨트롤을 배치하고 첫 번째 행 또는 첫 번째 열 (또는 둘 다)을 사용하려는 컨트롤에서 이러한 속성을 생략한 것을 다시 한 번 알 수 있습니다. 이것은 기본적으로 0을 지정하는 것과 동일합니다. 이렇게하면 약간의 타이핑이 절약되지만 더 나은 개요를 위해 어쨌든 할당하는 것이 좋습니다 . 그리드 레이아웃 패널은 연결된 두 속성 Grid.Column 및 Grid.Row를 제공하여 컨트롤의 위치를 정의합니다. 여러 그리드에서 열의 너비를 공유하는 방법 세 개의 행과 세 개의 열이 있는 격자에 각각 자신의 셀에 배치된 총 9개의 단추가 있습니다. 우리는 다시 한 번 별 기반 너비를 사용하지만 이번에는 숫자를 할당합니다 – 첫 번째 행과 첫 번째 열의 너비는 기본적으로 1 * 너비가있는 행과 열의 두 배의 공간을 사용한다는 것을 의미합니다 (또는 * – 동일합니다). 그리드에는 기본적으로 하나의 행과 열이 있습니다. 추가 행 및 열을 만들려면 행 정의 컬렉션에 행 정의 항목을 추가 해야 하 고 ColumnDefinitions 컬렉션에 열 정의 항목입니다. 다음 예제에서는 세 개의 행과 두 개의 열이 있는 그리드를 보여 주십습니다.