Да! Этот подход, на мой взгляд, делает Silverlight и WPF невероятно мощными. Я делал это в прошлом, и это удивительно, как хорошо это работает. Привязка данных и ViewModels делают это особенно легко. Еще лучше, если вы используете динамические возможности C # 4.0 для вставки динамических свойств в вашу ViewModel, к которой может привязываться ваш View. Другими словами, вы можете нажать на динамические значения, с которыми могут связываться ваши динамические представления.
Когда все работает, это прекрасно.
Немного саморекламы, но мой базовый класс ViewModel имеет большую поддержку этого типа динамического связывания данных.
Если вы делаете это с помощью Prism, вы можете воспользоваться модульностью Prism, из которой была создана Prisim. Вы можете переопределить RegionRegistry, например, одним из ваших собственных, который знает, как создать динамическое представление по имени региона.
Красивые, Красивые вещи здесь.