В продолжение еще одна особенность. Допустим нужно вывести 2 таблицы разделенные GridSpliter
Ожидается что обе DataGrid в примере займут равное пространство и разделят окно на 2 части по высоте по 50% каждая ( Heigth = "*")
В случае если в контенте окна будет StackPanel, то GridSplitter не двигается вообще.
А если элементов будет много то разделение по высоте 50х50 не работает ( это особенность когда элементы в stackpanel не видят высоту, о которой было в другом сообщении ).
Если StackPanel заменить на Grid то все работает как ожидается.
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Loaded="Button_Click">
<StackPanel>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<DataGrid Margin="10" ItemsSource="{Binding}" Grid.Row="0"></DataGrid>
<DataGrid Margin="10" ItemsSource="{Binding}" Grid.Row="2"></DataGrid>
<GridSplitter Grid.Row="1" BorderThickness="3" BorderBrush="Silver" HorizontalAlignment="Stretch"></GridSplitter>
</Grid>
</StackPanel>
</Window>