2015-01-15 7 views
0

I 확인란 값의 목록 상자가 사용자 정의에 대한 조언이 필요, 값의 수는 수시로 변화, 그것은이 목록 상자 템플릿

내가 방법을 사용자 정의하고 싶습니다 ... 10, 15, 100 등이 있습니다 값이 표시됩니다. 현재 값이 50 개인 경우 모두 세로로 표시되고 하나의 열에 만 표시됩니다.

나는 1 열은 최대 10 개의 값을 가질 것이고 다른 열의 값을 보려면 수평으로 스크롤 할 수있다.

StackPanel 방향이 수평 인 ItemsPanelTemplate을 사용해 보았지만 모든 값이 이제 1 행에 있습니다.

상담하십시오.

감사합니다.

답변

1

ListBox에서 사용하는 패널을 WrapPanel으로 변경해보세요. OrientationVertical으로 설정하고 ListBox의 높이를 조정하여 새 열을 시작하기 전에 각 "열"에 10 개의 항목을 맞 춥니 다.

<ListBox Height="..." 
    ScrollViewer.HorizontalScrollBarVisibility="Auto" 
    ScrollViewer.VerticalScrollBarVisibility="Disabled"> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <WrapPanel Orientation="Vertical" /> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
</ListBox> 

은 각 열에서 10 개 항목을 원하지만 명시 적으로 내가 생각할 수있는 유일한 솔루션은 사용자 정의 Panel을 쓰고 다음 ListBox의 높이를 설정하지 않으려면.

+0

안타깝게도 작동하지 않습니다. 목록 상자 높이와 너비를 300으로 설정하고 wrappanel을 수직으로 설정하면 모든 값이 스크롤 막대가없는 행에 표시됩니다. wrappanel 방향을 가로로 설정하면 모든 값이 세로 스크롤 막대와 함께 열에 표시됩니다. –

+0

죄송합니다! 게시하기 전에 테스트 했어야합니다. 이는 ListBox 컨트롤의 템플릿에 가로 스크롤 막대가 숨겨진 'ScrollViewer'가 포함되어 있기 때문입니다. 수정 된 XAML 코드에서 볼 수 있듯이 'ScrollViewer' 연결된 속성을 설정하여 스크롤 막대 동작을 변경하십시오. –