Обработчик события «SelectionChanged» элемента управления ComboBox имеет следующую подпись:
void SelectionChangedMethod(object sender, SelectionChangedEventArgs e)
Как связать это свойство в Silverlight 4 и MVVM-Light с соответствующим методом объекта ViewModel?
Насколько я знаю, мне нужно сделать что-то вроде этого:
public void Changed(Object obj, SelectionChangedEventArgs e)
{
// .... implement logic here
}
RelayCommand<Object, SelectionChangedEventArgs> _command;
public ICommand ObjectSelectionChanged
{
get
{
if (_command == null)
{
_command = new RelayCommand<Object, SelectionChangedEventArgs>(Changed);
}
return _command;
}
}
Проблема в том, что класс RelayCommand в инфраструктуре MVVM-Light не поддерживает 2 общих параметра ...
Есть ли какое-либо решение или обходной путь для этого случая? Как связать управляющее событие с методом с 2 параметрами?
И еще одна проблема: ComboBox не имеет свойства «Command» для привязки этой команды ..? Как я могу получить событие для ViewModel?
Спасибо.
P.S. Я пытался использовать свойство SelectedItem в выпадающем списке, но кажется, что реализация ComboBox не верна, и она не работает ...