Сетка не растягивается по всей док-панели - PullRequest
0 голосов
/ 03 февраля 2012

У меня проблема с созданием сетки (списка пользователей), не растягивающейся вертикально во все доступное пространство панели док-станции.

Моя упрощенная сетка находится в пользовательском контроле:

<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>

Мое окно так же просто, как:

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

ViewModel за главным окном корректно возвращает userControl через UserView. Сетка растянута горизонтально, но не вертикально. Зачем?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2012

Нашел это. Моя вина. У всего моего xaml была высота = 30 в коде позади. Какая неудача! это началось с копирования / вставки. Спасибо, ребята, за помощь!

0 голосов
/ 03 февраля 2012

Возможно, вам просто потребуется указать LastChildFill до True на вашем DockPanel.В противном случае, вероятно, DataGrid не изменится, поскольку он не предназначен для захвата всего доступного вертикального пространства.

В последнем случае вы можете сделать:

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