Solución:
Pon el DataGrid
en un Grid
, DockPanel
, ContentControl
o directamente en el Window
. Un orientado verticalmente StackPanel
les dará a sus hijos cualquier espacio vertical que pidan, incluso si eso significa que está fuera de la vista.
WPF4
<DataGrid AutoGenerateColumns="True" Grid.Column="0" Grid.Row="0"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto">
</DataGrid>
con : <ColumnDefinition Width="350" />
Y <RowDefinition Height="300" />
funciona bien.
Las barras de desplazamiento no se muestran con <ColumnDefinition Width="Auto" />
Y <RowDefinition Height="300" />
.
También funciona bien con: <ColumnDefinition Width="*" />
Y <RowDefinition Height="300" />
en el caso de que esto esté anidado dentro de un exterior <Grid>
.
Si alguno de los contenedores principales RowDefinition
Altura establecida en "Auto"
también tapones para barras de desplazamiento
Alternativamente, puede establecer la altura “*”
Lo que pasó en mi caso.