Я бы хотел «уменьшить» количество команд в моем классе ViewModel.
У меня есть одна ViewModel, которая содержит 5+ списков (используя Listboxes на View для представления, и я привязываю ObservableCollection к его параметру ItemSource; также привязываю свойство SelectedItem), и у каждого списка должна быть своя кнопка Add / Remove / etc.
Итак, это выглядит так:
public class PersonViewModel : ViewModelBase
{
Person _Person;
private ObservableCollection<WorkPlaceViewModel> _WPlaces;
private ObservableCollection<LanguageViewModel> _Languages;
... other lists
private WorkPlaceViewModel _SelectedWorkPlaceView;
...
}
Добавление команды 5x2 делает ViewModel немного большим. Я мог бы жестко закодировать строку в CommandParameter и обработать ее с помощью переключателя в моей ViewModel, но это звучит как взлом. :п
Или я должен пойти с созданием команды Remove для каждого списка и передать SelectedItem в качестве параметра?
Какой лучший способ для этого в MVVM?