Я пытаюсь использовать шаблон MVVM для написания приложения WPF. Я использую сетку данных WPF (из набора инструментов), в которой отсутствует функция автофильтрации. Поэтому я хочу это реализовать. Я добавил контекстное меню в шаблон заголовка столбца, у него есть MenuItem с именем «Фильтр», который на самом деле должен вызывать метод фильтрации.
Итак, я установил команду MenuItem в качестве соответствующего DelegateCommand, который идет в ViewModel. Проблема в том, что мне нужно передать информацию о фактическом столбце, который был щелкнуть правой кнопкой мыши! Если бы я не использовал MVVM, я бы реализовал обработчик событий, который получал бы аргумент «отправитель» (MenuItem), затем я бы нашел его родителя (ContextMenu), тогда его родитель дал бы мне столбец. Но как я могу добиться того же здесь? Как я могу передать отправителя моей команде? Можно ли это сделать с помощью ComandParameter?
Я действительно не хочу использовать дополнительные сложные шаблоны для решения такой простой задачи. Ведь MVVM должен упростить разработку, а не наоборот ...