最小化类似事件处理程序数量的方法是什么?

时间:2009-12-02 19:41:11

标签: wpf event-handling

WPF窗口应该有数百个对象(矩形行),并且每个对象上的鼠标点击都应该触发类似的操作。这些动作仅有几个参数(例如“行数”和“行中位置数”)不同。 我应该有几百个几乎相同的事件处理程序,或者我如何优化我的代码?

请给我一些提示,只是为了朝着正确的方向前进。

祝你好运。

3 个答案:

答案 0 :(得分:0)

我不是WPF的专家,但在事件处理中,您可以编写1个dans,将每个类似事件指向此处理程序。在处理程序中使用senter参数来了解它来自的控制。

而不是100次类似的事件处理,你可能会有一个带开关的大事件

希望有帮助

答案 1 :(得分:0)

WPF通过引入Routed Events来缓解此问题。在元素层次结构中的任何级别,您可以从其子元素中截取事件,并根据首先接收此事件的实际元素(如RoutedEventArgs的Source属性所示)来构建逻辑。

答案 2 :(得分:0)

您是否只能在viewmodel上使用ICommand实例并使用命令参数来确定单击了哪个矩形?