0

我在 xaml 中定义了这个菜单项:

<MenuItem 
   Header="header of item"  
   Click="eventhandler_of_item" 
   Name="nameofitem"/>

现在我想以编程方式获取点击事件的事件处理程序。获取标题很容易:

string header = nameofitem.Header.ToString();

但是获取 click 事件处理程序似乎有点棘手。谁能给个提示?

4

2 回答 2

1

它很乱,我建议你使用命令,它们可以很容易地传递。

于 2012-05-23T13:32:41.913 回答
0

我不认为,这是可能的。您只能添加或删除事件处理程序(注册和取消注册)。
据我所知,不可能遍历附加的处理程序(我写了迭代,因为可能有多个处理程序附加到一个事件)。

对于 CLR 事件,我记得我曾经看到过基于反射的解决方案。

正如 HB 所说(+1),使用命令,这是“正常”类型,可以根据需要使用......

于 2012-05-23T13:32:44.953 回答