The βrightβ way to do this probably uses the general capabilities of the Grid control, but this, unfortunately, prevents the entire grid from stretching. eg.
<Grid Grid.IsSharedSizeScope="True"> <Grid.ColumnDefinitions> <ColumnDefinition SharedSizeGroup="A"/> <ColumnDefinition SharedSizeGroup="A"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition SharedSizeGroup="A"/> <RowDefinition SharedSizeGroup="A"/> </Grid.RowDefinitions> <Label Grid.Row="0" Grid.Column="0" Background="Red" Content="Lorem"/> <Label Grid.Row="1" Grid.Column="0" Background="White" Content="Lorem ipsum"/> <Label Grid.Row="0" Grid.Column="1" Background="White" Content="Lorem ipsum dolor"/> <Label Grid.Row="1" Grid.Column="1" Background="Red" Content="Lorem ipsum dolor sit"/> </Grid>
You can host this in the Viewbox , but the resize behavior is probably not what you want, as it zooms in on the content. Perhaps you can find a way to make it suitable for use in your context.
source share