For example, I could do something like this:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Width="Auto">
<RowDefinition Width="Auto">
<RowDefinition Width="Auto">
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0">Header 1</TextBlock>
<TextBox Grid.Row="0" Grid.Column="1" MaxLines="1" />
<Button Grid.Row="0" Grid.Column="2">Send</Button>
<Button Grid.Row="0" Grid.Column="3">Save</Button>
<TextBlock Grid.Row="1" Grid.Column="0">Header 2</TextBlock>
<TextBox Grid.Row="1" Grid.Column="1" MaxLines="1" />
<Button Grid.Row="1" Grid.Column="2">Send</Button>
<Button Grid.Row="1" Grid.Column="3">Save</Button>
<TextBlock Grid.Row="2" Grid.Column="0">Header 3</TextBlock>
<TextBox Grid.Row="2" Grid.Column="1" MaxLines="1" />
<Button Grid.Row="2" Grid.Column="2">Send</Button>
<Button Grid.Row="2" Grid.Column="3">Save</Button>
</Grid>
Or I could do something like this:
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>Header 1</TextBlock>
<TextBox MaxLines="1" />
<Button>Send</Button>
<Button>Save</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>Header 2</TextBlock>
<TextBox MaxLines="1" />
<Button>Send</Button>
<Button>Save</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>Header 3</TextBlock>
<TextBox MaxLines="1" />
<Button>Send</Button>
<Button>Save</Button>
</StackPanel>
<StackPanel>
Except that I want to be able to easily manipulate rows (add new rows, move rows around, etc.) in the same way as in the StackPanel, keeping the column alignment correctly as in the Grid.
source
share