I have this situation 1000 times already: I have grid with 2 columns and many rows. Mostly i have TextBlock in first column and TextBox in second but not always. Now when I have 50 rows and I decide to move row 49 to the first row in grid, and I don't want to swap rows, I want to insert it to first place. Then I need to change values of Grid.Row and Grid.Column of all the rest of controls. This i driving me crazy. How can I make this easier?