у меня следующий макет
<DockPanel>
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="10">
...
</StackPanel>
<TabControl>
<TabItem Header="Summary">
<DataGrid ItemsSource="{Binding SummaryData}"
CanUserAddRows="False"
CanUserDeleteRows="False"
IsReadOnly="True"
HeadersVisibility="Column"
CanUserSortColumns="False" />
</TabItem>
...
</TabControl>
</DockPanel>
Без DataGrid TabControl и TabItems идеально заполняют остальную часть контейнера, но когда я добавляю DataGrid, он растягивает все, чтобы отобразить все строки и столбцы.
РЕДАКТИРОВАТЬ: больше ясности
Я хочу, чтобы DataGrid растягивался по вертикали и горизонтали, чтобы заполнить TabItem. Если ему нужно больше места, я бы хотел, чтобы появились полосы прокрутки DataGrid.
HorizontalAlignment
иVerticalAlignment
вашегоDataGrid
наStretch
, чтобы он растягивался/сжимался, чтобы заполнить всю доступную область? Также есть свойства дляHorizontalScrollBarVisibility
иVerticalScrollBarVisibility
, которые вы можете установить наAuto
, чтобы убедиться, что полосы прокрутки отображаются по мере необходимости. - person Rachel   schedule 18.10.2012TabItem
ActualHeight
- person Nick Strupat   schedule 18.10.2012