Define a GridSplitter and Vertical Alignment Changed
<Window x:Class="GridSplitter_Example.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="GridSplitter Example"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Name="Col0" /> <ColumnDefinition Name="Col1" /> <ColumnDefinition Name="Col2" /> <ColumnDefinition Name="Col3" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Name="Row0" /> <RowDefinition Name="Row1" /> <RowDefinition Name="Row2" /> </Grid.RowDefinitions> <StackPanel Grid.Row="0" Grid.Column="0" Background="Orange"> <TextBlock>Row 0 Col 0</TextBlock> </StackPanel> <StackPanel Grid.Row="1" Grid.Column="0" Background="Blue"> <TextBlock>Row 1 Col 0</TextBlock> </StackPanel> <StackPanel Grid.Row="2" Grid.Column="0" Background="Green"> <TextBlock>Row 2 Col 1</TextBlock> </StackPanel> <StackPanel Grid.Row="0" Grid.Column="1" Background="Purple"> <TextBlock>Row 0 Col 1</TextBlock> </StackPanel> <StackPanel Grid.Row="1" Grid.Column="1" Background="Red"> <TextBlock>Row 1 Col 1</TextBlock> </StackPanel> <StackPanel Grid.Row="2" Grid.Column="1" Background="Salmon"> <TextBlock>Row 2 Col 1</TextBlock> </StackPanel> <StackPanel Grid.Row="0" Grid.Column="2" Background="MediumVioletRed"> <TextBlock>Row 0 Col 2</TextBlock> </StackPanel> <StackPanel Grid.Row="1" Grid.Column="2" Background="SteelBlue"> <TextBlock>Row 1 Col 2</TextBlock> </StackPanel> <StackPanel Grid.Row="2" Grid.Column="2" Background="Olive"> <TextBlock>Row 2 Col 2</TextBlock> </StackPanel> <GridSplitter Name="myGridSplitter" Grid.Column="1" Grid.Row="1" Width="5"/> <StackPanel Grid.Column="3" Grid.RowSpan="3" Background="Brown"> <TextBlock FontSize="14" Foreground="Yellow">Property Settings</TextBlock> <StackPanel Margin="0,5,0,0"> <TextBlock>VerticalAlignment</TextBlock> <RadioButton Name="VerticalAlignmentTop" Checked="VerticalAlignmentChanged" GroupName="VerticalAlignmentProperty"> Top </RadioButton> <RadioButton Name="VerticalAlignmentBottom" Checked="VerticalAlignmentChanged" GroupName="VerticalAlignmentProperty"> Bottom </RadioButton> <RadioButton Name="VerticalAlignmentCenter" Checked="VerticalAlignmentChanged" GroupName="VerticalAlignmentProperty"> Center </RadioButton> <RadioButton Name="VerticalAlignmentStretch" Checked="VerticalAlignmentChanged" IsChecked="true" GroupName="VerticalAlignmentProperty"> Stretch (default) </RadioButton> </StackPanel> </StackPanel> </Grid> </Window> //File:Window.xaml.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Media; using System.Windows.Navigation; using System.Windows.Shapes; namespace GridSplitter_Example { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void VerticalAlignmentChanged(object sender, RoutedEventArgs e) { if ((Boolean)VerticalAlignmentTop.IsChecked) myGridSplitter.VerticalAlignment = VerticalAlignment.Top; else if ((Boolean)VerticalAlignmentBottom.IsChecked) myGridSplitter.VerticalAlignment = VerticalAlignment.Bottom; else if ((Boolean)VerticalAlignmentCenter.IsChecked) myGridSplitter.VerticalAlignment = VerticalAlignment.Center; else if ((Boolean)(Boolean)VerticalAlignmentStretch.IsChecked) myGridSplitter.VerticalAlignment = VerticalAlignment.Stretch; } } }