Как обработать пользовательское RoutedEvent, запущенное из UserControl из ViewModel?
В настоящее время у меня есть usercontrol, который запускает зарегистрированное RoutedEvent, как это:
protected virtual void OnScrollEvent(object oldValue, object newValue)
{
AssociatedObject.RaiseEvent(new DateTimeEventArgs(OnVisualChartRangeChangedEvent, minDate, maxDate));
}
Контейнер mainwindow в настоящее время обрабатывает это событие, вызывая метод из представления, подобного этому.
<Grid>
<historicChart:HistoricChartControl behaviours:ChartBehavior.OnVisualChartRangeChanged="RoutedEventHandler"/>
</Grid>
и код позади...
private void RoutedEventHandler(object sender, DateTimeEventArgs dateTimeEventArgs)
{
//do stuff here...
}
Но я хотел бы, чтобы это соответствовало модели MVVM, чтобы в моем обработчике была реализована модель представления, а не представление.
Как я могу это сделать? Может ли кто-нибудь опубликовать мне краткий пример того, как я могу это сделать?
Заранее спасибо
1 ответ
Вы можете использовать CallMethodAction для вызова вашего обработчика ViewModel.
Посмотрите, как создать EventTrigger для вашего пользовательского RoutedEvent: Пользовательское RoutedEvent как EventTrigger