I think one of the biggest mistake of Silverlight and WPF is its Grid layout. Imagine you have a data form with 2 columns and 5 rows. You need to place new row after the first one. As a result you need to rewrite Grid.Rows and Grid.Columns in all rows...