2009-09-10 6 views
2

GridView을 사용하여 DataTable를 표시하는 ListView을 가지고 있고 DataTable에 새 행이 추가되면 ListView가 예상대로 커지지만 Canvas의 아래쪽에 도달하면 자랄 수 있습니다.WPF ListView는 캔버스가 포함 된 것보다 커집니다.

Canvas 높이에 도달하면 멈추고 싶습니다. 어떻게 구성 할 수 있습니까?

Canvas은 포함 된 DockPanel에 의해 제어되는 동적 높이를가집니다.

<Canvas> 
    <ListView Name="listResults" ItemsSource="{Binding}"> 
     <ListView.View> 
      <GridView> 
       <GridViewColumn Header="Request Time" DisplayMemberBinding="{Binding RequestTime}" /> 
       <GridViewColumn Header="Request Duration(ms)" DisplayMemberBinding="{Binding Duration}" /> 
       <GridViewColumn Header="Request Duration(ms)" DisplayMemberBinding="{Binding Duration}" /> 
      </GridView>        
     </ListView.View> 
    </ListView> 
</Canvas> 

답변

6

ListViewMaxHeight 속성을 설정한다. 하드 코딩을하거나 의 ActualHeight 속성에 바인딩 할 수 있습니다.

+0

@muaddib 사실, 부모 컨트롤 'ActualHeight'로 바인딩 'MaxHeight'는 Canvas에서는 잘 작동하지만 DockPanel에서는 제대로 작동하지 않습니다. DockPanel을 부모로 사용하는 제안 사항은 무엇입니까? – Gabrielius

+0

그냥 DockPanel에서 문제가 아니지만 다른 것, 불행히도 작동하지 않는 예제로 짧은 코드를 붙여 넣을 수는 없습니다. – Gabrielius

관련 문제