2012-02-03 2 views
-1

그리드 (사용자 목록)가 도킹 패널의 전체 사용 가능한 공간에 세로로 늘어나지 않는 문제가 있습니다.그리드 전체가 도킹되지 않음

내 단순화 그리드는 UserControl을에 있습니다

<DockPanel Background="Yellow"> 
    <ContentControl Content="{Binding UserView}" Background="Red"/> 
</DockPanel> 

메인 창 뒤의 뷰 모델이 UserView를 통해 올바르게있는 UserControl을 반환로

<Grid Name="MainGrid" Background="Black"> 
    <Grid.RowDefinitions> 
      <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <DataGrid Name="UserDataGrid" ItemsSource="{Binding UsersProfiles, Mode=OneWay}" 
       AutoGenerateColumns="False" Margin="5" Grid.Row="0"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Header="User Id" Binding="{Binding UserIdentifier}" 
            Width="100" IsReadOnly="True" /> 
     </DataGrid.Columns> 
    </DataGrid> 

내 창은 간단합니다. 격자가 가로로 늘이지만 세로로는 늘어나지 않습니다. 왜?

+0

DockPanel 자체가 컨테이너에 세로로 늘어나지 않은 것이 문제 일 수 있습니다. 먼저'DockPanel.Dock ='속성을'ContentControl' 엘리먼트에 추가하고 그것이 차이가 나는지보기를 제안합니다. – Jay

+0

수직으로 늘어나지 않았습니까? 테스트 할'DataGrid'의'Background' 색상을 변경하십시오. DataGrid 행은 늘어나지 않지만 DataGrid 자체는 확장됩니다. 행 아이템을 세로로 늘리려면, 자신의'Template'을 구현하거나'ItemsControl'과'ItemsPanel'을'Grid'로 설정 한 다른 컨트롤을 사용해야합니다. – Rachel

답변

0

DockPanelLastChildFill ~ True을 지정하기 만하면됩니다. 그렇지 않은 경우 DataGrid은 사용 가능한 모든 수직 공간을 차지하도록 설계되지 않았기 때문에 크기가 조정되지 않았을 수 있습니다.

후자의 경우, 당신은 할 수 있습니다 :

<DataGrid> 
    <DataGrid.ItemsPanel> 
     <ItemsPanelTemplate> 
      <Grid /> 
     </ItemsPanelTemplate> 
    </DataGrid.ItemsPanel> 
</DataGrid> 
+0

으로 성공하지 못했습니다 < DataGrid.ItemsPanel> 잘못된 형식 죄송 –

+0

저는 초보자입니다. 내 코드만으로 새 프로젝트를 만들려고했는데 (제안은 없었습니다) 작동합니다. 끔찍한 자극 ... 그것은 똑같습니다. 거의 첫 번째 프로젝트가 훨씬 발전했습니다. –

0

가 발견. 내 잘못. 내 모든 xaml의 코드는 Height = 30입니다. 이 얼마나 나쁜 행운! 그것은 복사/붙여 넣기로 시작되었습니다. 기고에 감사드립니다.

관련 문제