Streched Splitter not working

I have a (simplified) 2x2 grid with three controls inside. Left control stretches on both lines.

<Grid> <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <GridSplitter Grid.Row="0" Grid.Column="1" Height="4" Background="Gray" HorizontalAlignment="Stretch" VerticalAlignment="Bottom"></GridSplitter> <GridSplitter Grid.Row="0" Grid.Column="1" Width="4" Background="Gray" Grid.RowSpan="2" HorizontalAlignment="Left" VerticalAlignment="Stretch"></GridSplitter> <!-- Simplified content --> <Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2">Content</Button> <Button Grid.Row="0" Grid.Column="1">Content</Button> <Button Grid.Row="1" Grid.Column="1">Content</Button> </Grid> 

I cannot understand why these splitters do not work.

+4
source share
2 answers

I suggest defining a GridSplitter for content

 <Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="2">Content</Button> <Button Grid.Row="0" Grid.Column="1">Content</Button> <Button Grid.Row="1" Grid.Column="1">Content</Button> <GridSplitter Grid.Row="0" Grid.Column="1" Height="4" Background="Gray" HorizontalAlignment="Stretch" VerticalAlignment="Bottom"></GridSplitter> <GridSplitter Grid.Row="0" Grid.Column="1" Width="4" Background="Gray" Grid.RowSpan="2" HorizontalAlignment="Left" VerticalAlignment="Stretch"></GridSplitter> 
+4
source

This one works for me -

  <Grid> <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> <ColumnDefinition Width="auto"></ColumnDefinition> <ColumnDefinition></ColumnDefinition> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition Height="auto"></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <GridSplitter Grid.Row="1" Grid.Column="2" Height="4" Background="Gray" HorizontalAlignment="Stretch" VerticalAlignment="Center"></GridSplitter> <GridSplitter Grid.Row="0" Grid.Column="1" Width="4" Background="Gray" Grid.RowSpan="3" HorizontalAlignment="Center" VerticalAlignment="Stretch"></GridSplitter> <Button Grid.Row="0" Grid.Column="0" Grid.RowSpan="3">Content</Button> <Button Grid.Row="0" Grid.Column="2">Content</Button> <Button Grid.Row="2" Grid.Column="2">Content</Button> </Grid> 
+1
source

Source: https://habr.com/ru/post/1344370/


All Articles