I'm creating a WPF application that is similar in layout to Microsoft Outlook, where you have some navigation buttons on the left and then a grid on the right hand side that displays content. I'd like this content area (which is just a Grid, split into a left side of specific Width, and then Width="*" for the right side) to change based on the selected item on the left side. It will render a different set of labels and buttons, etc when the item changes on the left side. I was curious what would be considered the best way to render content on the right side of the form, specifically:
- Use a Canvas control, and place controls on it and "swap" Canvas controls out as the selected item changes?
- Create some sort of a User Control to swap out content in this area?
I realize this question is subjective, but I'm looking for feedback from more experienced developers on how they usually handle this kind of work.
EDIT: The right hand side needs to render a specific UI for each selected item - in other words the UI on the right side is custom to the selected item on the left.