2011-11-10 6 views
0

"목록 상자의 한 행"에 가능한 많은 컨트롤을 포함 할 수 있어야합니다. 목표는 양식의 공간을 낭비하지 않는 것입니다. 목록 상자는 양식의 70 % 높이 (30 %는 리본 임)와 100 % 너비입니다.목록 상자 항목의 여러 컨트롤

라벨 + 텍스트 박스, 라벨 + 콤보 상자, 라벨이 아래에 하나를 나타 물론 +을 DateTimePicker

: 목록에있을 것입니다 컨트롤의 조합 일 수 있도록

나는 사용자 정의 ItemTempleSelector를 사용 다른,하지만 나는 그들에게 왼쪽에서 오른쪽으로 나타나야한다. 많은 감사.

답변

4

ListBoxItemsPanelWrapPanel이 포함되도록 수정해야합니다. 이렇게하면 항목이 왼쪽에서 오른쪽으로 표시되고 다음 줄로 바뀝니다 (나는 그것이 당신이 원하는 것이라고 생각합니다). 또한 목록 상자에서 가로 스크롤 막대를 비활성화해야합니다. 당신이 원하기 때문에 다른 것은 약 IS 생각하는

<ListBox ItemsSource="{Binding}" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
     <ListBox.ItemsPanel> 
      <ItemsPanelTemplate> 
       <WrapPanel /> 
      </ItemsPanelTemplate> 
     </ListBox.ItemsPanel> 
     ...your other stuff like the ItemTemplate 
    </ListBox> 

당신은 그들 각 항목을 선택할 수하는 ListBox을 사용하고 있습니까? 그렇지 않은 경우 ItemsControl은 가벼운 무게와 아이템 선택을 지원하지 않는 하나의 교체 용 제품입니다.

+0

치료를했습니다. 고마워! – MaxWillmo

0

어쩌면 나는이 질문을 이해할 수 없지만, 모든 컨트롤을 Wrappanel에 넣지 않는 것이 좋습니다. 이것이 데이터 형식의 루트 컨트롤입니다.

+0

설명하는 것이 가장 쉬운 상황은 아닙니다. 목록에는 itemsource가 있으며, 사용자 정의 사용자 정의 객체 목록 이됩니다. 이 객체는 열거 형을 가지고 목록 상자의 컨트롤이 orignally 명시된 컨트롤 중 하나 여야하는지 결정합니다. 목록 상자에 바인딩 된 실제 목록은 리본의 체크 버튼에 따라 달라 지므로 자주 변경 될 수 있습니다. – MaxWillmo

관련 문제