How to create a table-view control

You can create the table like view as described by Matt Lacey. For dynamic data you can create data-template for your table and bind them to your data source. When you click items in a list you can modify ur data source so that it will be reflected in your table.
Note: Make sure to implement INotifyPropertyChanged so the changes in your data are reflected correctly on the UI.

To create a table, simply use a list where each item is a row in the grid and then template the item to display data inside a single row grid.

IMPORTANT: Be sure to set a fixed width on each cell so that all rows look the same and aren't resized independently.