2013-06-14 4 views
0

레이블, 텍스트 상자 및 콤보 상자를 표시하는 패널이 있으며 코드 숨김으로 인해 해당 패널 외부의 ComboBox에서 사용자가 선택한대로 표시 여부 또는 축소 여부가 설정됩니다. 패널의 틈을 없애고 그리드의 오른쪽에 보이는 모든 항목을 가져 오는 가장 좋은 방법은 무엇입니까? (이전 열의 맨 아래에 빈 셀이 있으면 열 위치를 줄이십시오)? 어떤 유형의 패널을 사용해야합니까? 별도의 패널로 분할해야합니까?다른 항목의 가시성에 따라 격자 항목 정렬

편집 : 여기

내가 어떻게하고 싶은 무엇을 가난한 엑셀 해석 :

+0

'와 코드가 뒤에 표시 또는 collapsed'에 대한 가시성을 설정을 - 뒤에 코드를 사용하지 마십시오. 적절한 ViewModel을 작성하십시오. WPF는 winforms가 아닙니다. MVVM 배우기. –

+0

@HighCore, 동의하지 않습니다. 모든 WPF 응용 프로그램이 MVVM을 사용해야하는 것은 아닙니다. 응용 프로그램이 빈번하게 유지 관리 할 필요가없는 경량 유틸리티 인 경우 코드 숨김에 이벤트 핸들러를 사용하는 것이 반드시 나쁜 것은 아닙니다. 모범 사례 및 디자인 패턴과 마찬가지로 이점이 추가 된 복잡성에 가중 될 때만 보람을 느낄 수 있습니다. – moranlf

답변

0

은 이해하기 어렵다 나는 기본적으로 모든 왼쪽 상단 모서리에 갈 수 있도록 할 http://imgur.com/ZVRh6Yq

당신의 레이아웃을 다이어그램이나 스케치 없이도 사용할 수 있지만 행 높이/열 너비를 "auto"로 설정하면 Grid 레이아웃을 유지할 수 있다고 생각합니다. 이렇게하면 각 그리드 행/열이 자체 컨텐트를 표시 할만큼 충분히 커지게됩니다.

StackPanel 또는 DockPanel과 같은 다른 레이아웃 유형을 사용할 수도 있습니다.이 레이아웃 유형을 사용하면 컨트롤 위치를 제어하는 ​​것이 줄어들지 만 편안한 자동 레이아웃을 제공 할 수 있습니다.

편집 :

당신은 예상 결과를 얻을 수있는 WrapPanel를 사용할 수 있습니다

<WrapPanel Orientation="Vertical"> 
    <Label/> 
    <TextBox/> 
    <ComboBox/> 
</WrapPanel> 
+0

편집을 참조하십시오 – user2487482

+0

스케치에 따라 답변을 업데이트했습니다 – moranlf

+0

도움을 주셔서 감사합니다. 입력 목록 대신 크기가 조정 된 크기를 조정해야했지만 매력과 같이 작동합니다! – user2487482

관련 문제