Here is a quick sample showing how it is possible to create a flexible resizeable layout in WPF with a GridSplitter. Here we see how you can change the size of panes in a vertical and horizontal direction.
And the Xaml:
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Grid Grid.Row="0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Label Grid.Column="0">Row 0, Column 0</Label> <GridSplitter Width="5" Grid.Column="0" Background="Blue" ShowsPreview="True"/> <Label Grid.Column="2">Row 0 Column 2</Label> </Grid> <GridSplitter Height="5" Grid.ColumnSpan="3" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Black" ResizeDirection="Rows" ShowsPreview="true"/> <Grid Grid.Row="2"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Label Grid.Column="0">Row 2, Column 0</Label> <GridSplitter Width="5" Grid.Column="0" Background="Blue" ShowsPreview="True"/> <Label Grid.Column="2">Row 2 Column 2</Label> </Grid> </Grid> </Page>