目前我有一个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而不是视图。
我该怎么做?有人可以给我一个简短的例子,告诉我如何解决这个问题吗?
先谢谢
答案 0 :(得分:0)
您可以使用CallMethodAction来调用ViewModel处理程序。
请参阅以下有关如何为自定义RoutedEvent创建EventTrigger的信息: Custom RoutedEvent as EventTrigger