When defining the contents of a Grid, I first define all row and column definitions, then afterwards when defining elements I have to explicitly specify which row and column they belong to. Not only is it tedious, but if I add an element somewhere between the others I have to manually shift the index of everything that follows. So I wondered if it was possible to batch-define elements within a column or row, for example something like
<Column.Content Index="0">
<Label>First row</Label>
<Label>Second row</Label>
<Label>Third row</Label>
</Column.Content>
..or similar? Something like how the <table> HTML tag works would also be awesome.
Given your problem I think you should give in to the magic of databinding and let WPF do the hard work of moving data around if new data is inserted: have a look here http://social.msdn.microsoft.com/Forums/is/wpf/thread/2f5173fd-a9ef-4a5b-9fa8-b68e4255dac4