WPF窗口应该有数百个对象(矩形行),并且每个对象上的鼠标点击都应该触发类似的操作。这些动作仅有几个参数(例如“行数”和“行中位置数”)不同。 我应该有几百个几乎相同的事件处理程序,或者我如何优化我的代码?
请给我一些提示,只是为了朝着正确的方向前进。
祝你好运。
答案 0 :(得分:0)
我不是WPF的专家,但在事件处理中,您可以编写1个dans,将每个类似事件指向此处理程序。在处理程序中使用senter参数来了解它来自的控制。
而不是100次类似的事件处理,你可能会有一个带开关的大事件
希望有帮助
答案 1 :(得分:0)
WPF通过引入Routed Events来缓解此问题。在元素层次结构中的任何级别,您可以从其子元素中截取事件,并根据首先接收此事件的实际元素(如RoutedEventArgs的Source属性所示)来构建逻辑。
答案 2 :(得分:0)
您是否只能在viewmodel上使用ICommand实例并使用命令参数来确定单击了哪个矩形?