Я думаю, вы, возможно, упускаете точку разделения между представлением и моделью представления, для которой предназначены триггеры взаимодействия.
Цель триггеров взаимодействия - позволить конструктору (обычно использующему Blend) вызывать команду в модели представления. Какой элемент пользовательского интерфейса и какое событие в элементе пользовательского интерфейса может вызывать такую команду - это выбор конструкторы .
Если ViewModel требует, чтобы во время такого вызова команды была предоставлена конкретная производная от EventArgs
, это немного связало бы разработчиков. Это создало бы связь между представлением и моделью представления, которую триггеры взаимодействия стремятся устранить.
Что касается вашего последнего вопроса, то способ определения текущего выбранного элемента в списке и уведомления об его изменении заключается в создании свойства модели представления, которое привязано к SelectedItem
элемента ListBox. Для такого рода вещей не требуется триггеров или команд взаимодействия сотрудников.