2017-02-13 4 views
0

Я пытаюсь заставить свой DataGrid масштабировать высоту строки, ширину столбца с размером окна, чтобы он мог масштабироваться до любого разрешения. Этот вид работ, но с У меня есть datagrid в окне просмотра. Не все строки отображаются, и нет горизонтальной прокрутки. См. Изображение.Как сделать масштаб DataGrid содержимым для любого разрешения?

<Grid x:Name="grid1"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="auto"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="auto"/> 
    </Grid.RowDefinitions> 
    <TextBlock x:Name="TB1" Grid.Row="0" Text="League Name"/> 
    <DataGrid Name="DG1" ItemsSource="{Binding}" Grid.Row="1" AutoGenerateColumns="False" GridLinesVisibility="None" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Header="a" Binding="{Binding a}" /> 
      <DataGridTextColumn Header="b" Binding="{Binding b}" /> 
      <DataGridTextColumn Header="c" Binding="{Binding c}" /> 
      <DataGridTextColumn Header="d" Binding="{Binding d}" /> 
      <DataGridTextColumn Header="e" Binding="{Binding e}" /> 
      <DataGridTextColumn Header="f" Binding="{Binding f}" /> 
      <DataGridTextColumn Header="g" Binding="{Binding g}" /> 
      <DataGridTextColumn Header="h" Binding="{Binding h}" /> 
     </DataGrid.Columns> 
    </DataGrid> 
    <Border Grid.Row="2"> 
     <Image Source="Resources/Logo.png" /> 
    </Border> 
</Grid> 
+0

Либо вырезать родительскую сетку или сделать высоту = «*» ее строки. –

ответ

1

Избавьтесь от Viewbox и установите вертикальные и горизонтальные выравнивания DataGrid на «Stretch». Вы также должны установить RowDefinition на «*» или просто избавиться от всего этого (вам это не нужно, поскольку это ваша единственная строка).

+0

Я попытался реализовать ваше решение, но, избавившись от области просмотра, контент больше не изменяет размер. –

Смежные вопросы