WPF 그리드:새 행을 삽입해야 할 경우 행 항목을 쉽게 재조정할 수 있는 방법이 있습니까?
그리드 행 및 열 정의는 다음과 같이 하드 코딩된 것으로 나타납니다.
Grid.Row="3" Grid.Column="1"
저는 새로운 WPF 앱을 개발하는 중이고 고객이 양식이 어떻게 보여야 할지 결정하기 때문에 그리드에서 새 행을 계속 추가하고 삭제해야 합니다.나는 이것이 꽤 지루한 일이라는 것을 발견하고 있습니다.상단 근처에 행을 삽입하면 방금 삽입한 행 아래의 XAML에 있는 모든 행 인덱스를 수동으로 변경해야 합니다.
모든 행을 자동 조정하는 쉬운 방법이 있습니까?
Visual Studio 2015에서는 행 가장자리를 마우스로 가리키면 작은 드롭다운 상자가 나타납니다.아래쪽 화살표를 누르면 "앞으로 행 이동" 및 "뒤로 행 이동" 옵션이 있습니다.그게 제가 찾은 최선의 방법입니다.
이미지 예:
A Grid는 그리드이며 행과 열에는 특정 이유로 번호가 매겨집니다.이것은 그래프 종이를 일정한 수의 정사각형으로 잘라낸 것과 같습니다.행과 열의 수가 고정되어 있기 때문에 행과 열의 스패닝과 같은 강력한 작업을 수행할 수 있습니다.반대로 행 또는 열의 개수가 다양한 경우에는 유연하지 않습니다.
다양한 수의 행이 필요하거나 설계 시 계속 행을 추가하는 경우 다음과 같이 할 수 있습니다.Grid최적의 설계 요소가 아닙니다.아니면 더 나은 방법으로, 당신은 그것을 사용할 수 있습니다.Grid다른 레이아웃 요소와 함께 사용하면 필요한 유연성을 얻을 수 있습니다.
를 들어,의 를예들, 변행단일행넣있다수에 넣을 수 .Grid행과 그리드 행 수는 더 이상 변경되지 않습니다.그러나 그 다음에 배치할 다양한 행 수를 지원하는 레이아웃 요소가 필요합니다.Grid할 수 것들이 , 를 들어 두 가 유용한 이 있습니다. 할, 선들행수것많, 지택유두가입니다지용한어, 음예를만이들는있▁row가다▁for니두입지.StackPanel그리고.DockPanel.
요소는 다음과 같습니다.DockPanel열의 강력하며, 히특행또수대강매때며력하특, 사될용히우해에변수는열로 할 경우에 매우 강력합니다.DockPanels에 내에DockPanels또는 다른 조합.이 레이아웃 문제를 처리하기 위해 필요한 것은 세분화하고 정복하는 것입니다!
에 대한 소개입니다.DockPanelWPF 자습서: 도킹 패널
열을 자동으로 하는 쉬운 .Grid.
제가 과거에 사용했던 잠재적인 대안은UniformGrid각 항목에 행/열 참조가 필요하지 않기 때문입니다.데이터에 대한 자리 표시자를 차단하는 데 유용합니다.
초기 디자인을 하는 경우에는 비주얼 스튜디오에서 드래그/드롭 인터페이스나 Balsamiq 또는 Blend와 같은 디자인 도구를 사용하는 것이 좋습니다.Balsamiq는 의도적으로 실제 응용 프로그램처럼 보이지 않기 때문에 고객들이 물건의 실제 모양에 구애받지 않고 대신 데이터에 집중할 수 있기 때문에 제가 가장 좋아하는 것입니다.
Visual Studio 2013에서는 매우 오래된 질문이라는 것을 알고 있지만, 다른 사용자가 이 질문을 발견할 경우 그리드 가장자리를 마우스로 가리키면 한 행을 두 줄로 나눌 수 있습니다.
그러면 행이 설정된 숫자 높이로 설정되므로 다시 돌아가서 '자동' 또는 '*' 또는 사용할 모든 항목으로 변경해야 합니다.또한 원래 행에 있는 모든 항목이 두 행에 걸쳐 있으므로 해당 항목에서 RowSpan="2" 특성을 제거하고 올바른 행에 배치해야 하지만 하위 행에 있는 모든 항목이 자동으로 아래로 푸시됩니다.
완전 자동은 아니며 약간의 정리가 있지만 행이 많은 경우 모든 항목의 번호를 수동으로 다시 매기는 것보다 더 빠릅니다.
언급URL : https://stackoverflow.com/questions/6059542/wpf-grid-is-there-an-easy-way-to-readjust-the-row-items-if-i-need-to-insert-new
'programing' 카테고리의 다른 글
| 제약 조건을 동시에 충족할 수 없습니다. 제약 조건을 해제하여 복구를 시도합니다. (0) | 2023.04.29 |
|---|---|
| 목록에서 모든 n번째 항목을 가져오려면 어떻게 해야 합니까? (0) | 2023.04.29 |
| Azure 웹 앱을 배포할 때 메모리 위치에 대한 액세스가 잘못됨 (0) | 2023.04.29 |
| PowerShell에서 Windows 탐색기 창을 열 수 있습니까? (0) | 2023.04.29 |
| Bash 문자열 차이 (0) | 2023.04.24 |
