以编程方式获取MenuItem的事件处理程序

时间:2012-05-23 13:28:11

标签: c# wpf xaml event-handling menuitem

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

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

现在我想以编程方式获取click事件的事件处理程序。 获取标题很简单:

string header = nameofitem.Header.ToString();

但是获取click事件处理程序似乎有点棘手。 任何人都可以提示吗?

2 个答案:

答案 0 :(得分:1)

它很乱,我建议你使用commands,它们可以轻松传递。

答案 1 :(得分:0)

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

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

H.B.声明(+1),使用命令,这是“普通”类型,可以根据需要使用...