Как сначала давайте выясним, что вы не можете изменить событие, а можете подписаться на него.
Поскольку вы не указали какую-либо информацию о том, откуда вы хотите обрабатывать изменения выбора, я рассмотрю наиболее распространенный сценарий - обработку в базовом ViewModel. Согласно MVVM ViewModel не должен ничего знать о View, поэтому вы не можете подписаться непосредственно с ViewModel на событие контроля View. Но вы можете привязать свойство ViewModel либо к SelectedItem
, либо к SelectedIndex
, чтобы оно вызывало пока изменения выбора.
<ComboBox
SelectedIndex="{Binding SelectedIndexPropertyName}"
... />
Есть и другие решения делает обработку в коде позади Глаз доступа к ViewModel через view.DataContext
, но я хотел бы предложить избежать такой практики, это есть работа вокруг дел.
Я пробовал это, но не вызывал событие с измененным выбором. – Tanya
Как вы это проверили? Вы не должны подписываться на контрольное событие в этом случае – sll
Не предполагается инициировать событие, так как логика возникает, когда вместо параметра MySelectedItem изменяется значение. Я обновил свой ответ обработчиком событий, если вы хотите использовать его вместо этого. – snurre