Я пишу библиотеку ViewModel, которая работает с моими пользовательскими элементами управления WPF.Моя проблема в том, что моя DomainModel имеет большое количество типов данных: Cd, ручки, гаджеты, книги, ecc.Все эти типы данных перечисляются с перечислением (у меня есть более или менее 100 типов данных), и каждый тип данных соответствует таблице БД.
Таким образом, идея состоит в том, чтобы иметь библиотеку ViewModel, которая предоставляет одно свойство длякаждый тип данных, таким образом, мои элементы управления пользовательским интерфейсом могут напрямую связывать свойства моего viewModel.ViewModel для каждого свойства возвращает ObservableCollection.Например, если я хочу, чтобы мое поле со списком было заполнено данными "Гаджеты", в моем XAML у меня будет что-то вроде:
<my:XCombo ItemsSource="{Binding Gadgets}" .... />
, а в моей ViewModel у меня будет:
public ObservableCollection<Gadgets> Gadgets
{
get
{
//get gadgets data from my domain model
return _model.GetData(DataEnum.Gadgets);
}
}
Теперь, чтобы сделать это, мне нужно, чтобы в моем ViewModel было по одному свойству для каждого значения перечисления, но я хотел бы избежать установки 100 методов доступа к свойствам.Я ленивый, и это может быть очень подвержено ошибкам.Я знаю, что в c # 4 у нас есть динамические свойства, поэтому таким образом я могу избежать написания 100 методов доступа к свойствам, но я ДОЛЖЕН использовать .net 3.5, который не имеет динамических свойств, я не могу использовать .net 4; (
Есть ли кто-нибудь, кто уже имел эту проблему или какие-либо предложения?
Заранее большое спасибо.