0
votes

Currently I have a usercontrol that fires a registered RoutedEvent like this:

    protected virtual void OnScrollEvent(object oldValue, object newValue)
    {
        AssociatedObject.RaiseEvent(new DateTimeEventArgs(OnVisualChartRangeChangedEvent, minDate, maxDate));
    }

The mainwindow container currently handles this event by calling a method from the view like this.

<Grid>
    <historicChart:HistoricChartControl behaviours:ChartBehavior.OnVisualChartRangeChanged="RoutedEventHandler"/>
</Grid>

and the code behind...

    private void RoutedEventHandler(object sender, DateTimeEventArgs dateTimeEventArgs)
    {
               //do stuff here...
    }

But what I would like is for this to conform to the MVVM model, so that my handler should be implemented the viewmodel and not in the view.

How can I do this? Could someone post me a brief example of how I could go about this?

Thanks in advnce

1

1 Answers

0
votes

You can use the CallMethodAction to invoke your ViewModel handler.

See this on how to create an EventTrigger for your custom RoutedEvent : Custom RoutedEvent as EventTrigger