ちょっとしたことですが、GridSplitterが上手く動かずにハマったのでメモを残しておきます。
下のコードはGridSplitterを使うときの基本的なコードです。 これのHorizontalAlignmentの設定を忘れるとレイアウトが崩れます。
<Window x:Class="GridSplitterTest.TestWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TestWindow" Height="300" Width="300">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Background="LightBlue">L</Label>
<GridSplitter
Grid.Column="1"
Width="10"
VerticalAlignment="Stretch"
HorizontalAlignment="Center"
Background="DarkGray"
/>
<Label Grid.Column="2" Background="LightGreen">R</Label>
</Grid>
</Window>
HorizontalAlignmentの設定が無い状態でビルド → 実行した場合、GridSplitterが左に動きません。 右にドラッグすると左のLabelとGridSplitterの間に変な余白ができます。 下の画像の背景色が白くなっているところがそれです。