如何处理从ViewModel内部从UserControl触发的自定义RoutedEvent?

时间:2013-11-30 08:56:26

标签: wpf events mvvm

目前我有一个usercontrol,可以像这样触发已注册的RoutedEvent:

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

主窗口容器当前通过从视图中调用方法来处理此事件。

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

和背后的代码......

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

但我想要的是符合MVVM模型,以便我的处理程序应该实现viewmodel而不是视图。

我该怎么做?有人可以给我一个简短的例子,告诉我如何解决这个问题吗?

先谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用CallMethodAction来调用ViewModel处理程序。

请参阅以下有关如何为自定义RoutedEvent创建EventTrigger的信息: Custom RoutedEvent as EventTrigger