문제

WPF 응용 프로그램의 다양한 예를 보았습니다. Grid 거의 모든 것을 제어하고, 단 1 개의 열이나 행만의 가장 단순한 것들을 제어하십시오.

또한 WPF 템플릿은 빈 그리드로 시작합니다.

나를 위해, 사용 StackPanel 또는 DockPanel 정점이 적고 유지 보수에 더 좋습니다 (나중에 행을 추가하고 다른 모든 행에 +1을 추가해야한다고 생각하십시오).

Grid 더 나은 것입니까 아니면 내가 놓친 것?

도움이 되었습니까?

해결책

그리드가 기본 요소가되는 이유 중 일부는 디자이너 친화적이기 때문입니다.

그리드를 사용하면 단일 그리드 "셀"내에 여러 요소가있는 것에 대한 제한이 없으므로 무료 배치가있는 디자이너는 캔버스와 동일한 유연성을 가질 수 있지만 여전히 그리드와 다른 자동 레이아웃 기능이 있습니다. StackPanel 및 DockPanel과 같은 레이아웃 컨트롤)에는 포함되어 있습니다.

다른 팁

두 단어 : 별 크기. 그만큼 Grid 컨테이너의 크기를 명시 적으로 제공하지 않고 함유 된 공간에 컨텐츠를 크기를 크기로 만들 수 있습니다. 패널 컨트롤은 그렇지 않습니다.

아무것도 놓치지 않습니다. 나는 내 응용 프로그램에 그리드가 많이 있지만 반드시 최상위 요소와는 달리, 확실히 당신이 설명하는 확장은 아닙니다.

많은 사람들이 초기 그리드를 제거 할 수 있다는 것을 깨닫지 못하고 대신 자체 제어를 그리드에 넣을 수 있습니다.

나는보다 정교한 창문의 경우 다른 사람들의 창문을 상당히 독립적 인 (움직임과 크기의 현명한) 기능 영역으로 분해하는 것이 더 쉽다는 것을 발견했습니다. 그리드를 사용하면 해당 영역이 단일 패널에서 공존 할 수 있으며 다른 컨트롤이 어느 정도 (어느 정도) 위치에 관계없이 배치 할 수 있습니다.

예를 들어 프로젝트에서 나는이다 지금 작업합니다, 나는 운송 관리자가 될 창이 있습니다. 나는 세 개의 목록보기 (배송, 패키지, 항목)를 원합니다. 두 개의 열이있는 그리드 컨트롤이 있습니다. 하나는 패키지 목록과 그리드 스플리터가 있고 다른 하나는 다른 두 목록이있는 중첩 그리드와 그리드 스플리터가 있습니다.

나는 많은 디자이너들이 이와 같은 영역으로 창문을 부수는 것을 보았고, 그리드 이외의 다른 방법으로는 간접적으로 살아있는 아이템 "셀"이 없기 때문에 작동하지 않기 때문에 작동하지 않습니다. 그래서 그들이 회의를 가졌을 때 기본 컨테이너 패널이 무엇인지 물었을 때 그리드는 그 사실을 바탕으로 선택이었습니다.

코리

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top