我在 xaml 中定义了这个菜单项:
<MenuItem
Header="header of item"
Click="eventhandler_of_item"
Name="nameofitem"/>
现在我想以编程方式获取点击事件的事件处理程序。获取标题很容易:
string header = nameofitem.Header.ToString();
但是获取 click 事件处理程序似乎有点棘手。谁能给个提示?
我在 xaml 中定义了这个菜单项:
<MenuItem
Header="header of item"
Click="eventhandler_of_item"
Name="nameofitem"/>
现在我想以编程方式获取点击事件的事件处理程序。获取标题很容易:
string header = nameofitem.Header.ToString();
但是获取 click 事件处理程序似乎有点棘手。谁能给个提示?
它很乱,我建议你使用命令,它们可以很容易地传递。
我不认为,这是可能的。您只能添加或删除事件处理程序(注册和取消注册)。
据我所知,不可能遍历附加的处理程序(我写了迭代,因为可能有多个处理程序附加到一个事件)。
对于 CLR 事件,我记得我曾经看到过基于反射的解决方案。
正如 HB 所说(+1),使用命令,这是“正常”类型,可以根据需要使用......