2009-10-09 8 views
4

ListBox을 표시하는 WPF 창이 있습니다. ListBox의 항목 템플리트를 변경하여 목록 상자에 선택할 수있는 직사각형 항목을 표시합니다.항목 표시 방식 변경 WPF 목록 상자

이제 ListBoxItemsPanelTemplate을 수정하여 항목이 세로 또는 가로 목록 대신 모눈에 표시되도록하고 싶습니다. 특히 나는 첫 번째 항목이 ListBox의 오른쪽 위 모서리에 있고 두 번째 항목이 그 아래에 있고 세 번째 항목이 다음 항목의 높이가 항목의 열을 ListBox 자체의 높이보다 높게 만들 때까지 그 아래에 세 번째 항목이 있습니다. 이 시점에서 추가 된 첫 번째 항목의 오른쪽에있는 두 번째 열이 바로 시작됩니다. 결합 된 모든 열의 너비가 ListBox 너비보다 큰 경우 가로 스크롤 막대가 나타납니다.

ItemsPanelTemplate을 수정하여 해당 효과를 얻는 방법이 있습니까? 아니면 ListBox 클래스 자체를 확장해야합니까? 두 경우 모두 어떻게 알 수 있습니까?

도움 주셔서 감사합니다.

답변

4

나는이 테스트를하지 않은,하지만 난 당신이 WrapPanelListBox에서 사용하는 기본 패널을 교환하여 원하는 효과를 얻을 수 있습니다 의심 : 도움을

<ListBox> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <WrapPanel Orientation="Vertical"/> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
</ListBox> 
+0

감사합니다! 그것은 기본적으로 그것을 해결하지만 '있는 그대로'위의 코드는 여전히 긴 세로 목록을 만듭니다. 위에서 설명한대로 격자를 만들려면 트릭을 사용하여 ListBox 태그에이 특성을 추가합니다. ScrollViewer.VerticalScrollBarVisibility = "사용 중지됨" – Evan