在非UIElement类中引发RoutedEvents

时间:2010-09-16 18:52:38

标签: wpf routed-events uielement

似乎routedevents的全部功能都是针对UI开发的。 有意思问,是否可以从不扩展UIElement或UserControl类的类中引发路由事件?例如:我创建一个State类,我对某些数据(主要是图纸和对象)执行了一些更改,我希望通知主UI,以便它可以更新其Adorner并导致重新绘制视觉元素。

我认为将这个State类与UI分离,而不是创建一个主UI应该直接附加到它的事件处理程序,如果它想要为这个事件提供服务的话。

有没有办法实现这一点,还是我完全离开?

1 个答案:

答案 0 :(得分:0)

您应该查找ICommand接口并在自定义命令类中实现它。

或者,您可以查找允许定义命令的RelayCommand实现,而无需实现类。

对于RoutedCommandRelayCommand之间的差异,您可以阅读此discussion