2012-02-22 4 views
0

WPF ListBox (또는 ItemsControl)에 GridSplitter와 같은 기능을 갖고 싶습니다. 다음 코드는 작동하지만 내가 달성하고자하는 것을 보여줍니다하지 않습니다크기 조정 가능 WPF ListBox/Items 컨트롤 항목

<ListBox ItemsSource="{Binding MyCollection}"> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Horizontal"/> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 

    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <Grid> 
       <TextBlock Text="{Binding MyTextProperty}" Margin="0,0,10,0"/> 

       <GridSplitter 
       Width="5" 
       Background="Red" 
       HorizontalAlignment="Right" 
       ResizeBehavior="CurrentAndNext"/> 

      </Grid> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
    </ListBox> 

사람이이를 구현하는 방법에 대한 아이디어가 있습니까?

+0

"작동하지 않는 부분"은 무엇입니까? –

+1

GridSplitter는 Grid 내에서 행/열의 크기를 조정합니다. 코드에는 각 목록 상자 항목마다 하나의 행과 하나의 열이있는 하나의 격자가 있습니다. 스플리터는 아무 것도하지 않습니다. – Phil

+0

@jberger : gridsplitter – eriksmith200

답변

1

왜 ListView GridView를 사용하지 않습니까? GridView는 열 크기 조정을 지원합니다.

+0

어쩌면 그럴 수도 있고, 열을 숨기고 셀의 크기를 조정하거나 열만 표시해야 할 수도 있습니다. 그러나 하나의 컬렉션에 바인딩 할 때 이것이 작동하는지 확신 할 수 없도록 셀을 소스 컬렉션의 여러 항목을 사용하여 만들어야합니다. – eriksmith200

+0

ListView와 ListBox는 모두 리피터 컨트롤입니다. 근본적인 차이점은 무엇입니까? – Paparazzi