Я работаю над типичной системой ввода данных в Silverlight. Большинство моих экранов - это в основном экраны просмотра / редактирования. Я использую подход DDD и имею доменные объекты для всего. Типичный сценарий - это что-то вроде объекта User со страницей редактирования и ввода пользователя.
После работы над этим для нескольких типов объектов я вижу образец. Я создаю представление, которое ничего не делает, но привязывается к объекту домена. Каждое представление имеет похожий вид с заголовком (привязанным к объекту домена) и некоторыми элементами управления редактирования, основанными на типе данных представления (флажок bool, множество текстовых полей и т. Д.).
Так что я думаю, что вместо создания отдельного представления для каждого класса, я мог бы создать своего рода общий класс View, который автоматически генерирует форму на основе объекта в DataContext. Я мог бы как-то указать представлению, в каком порядке размещать поля (т. Е. Имя / фамилия сверху, затем телефон, затем адрес и т. Д.), А также присвоить некоторым атрибутам поля (например, задать имя / фамилию). как заголовок, который будет выделен жирным шрифтом или что-то). Для меня это звучит похоже на то, что вы делаете с CSS. Затем, чтобы изменить внешний вид всего приложения, мне просто нужно изменить вид или шаблон для вида.
Итак, вот мои вопросы:
Имеет ли этот подход смысл и будет ли он работать?
Уже что-нибудь подобное?
Если нет, то как лучше всего это сделать?