public MainWindow()
{
CommandManager.AddExecutedHandler(this, ExecuteHandler);
}
void ExecuteHandler(object sender, ExecutedRoutedEventArgs e)
{
}
错误1参数2:无法从'方法组'转换为'System.Delegate']
我想有多个具有不同签名的ExecuteHandler。只需将处理程序转换为您想要的版本即可:
CommandManager.AddExecuteHandler(this, (Action<object,ExecutedRoutedEventArgs>)ExecuteHandler);
您不能直接传递“方法”作为参数,您需要传递一个表达式。您可以将方法包装到委托中:
CommandManager.AddExecutedHandler(this, new ExecutedRoutedEventHandler(ExecuteHandler));
CommandManager.AddExecutedHandler(this, (Action<object,ExecutedRoutedEventArgs>) ExecuteHandler);
或放入 –这是我个人最喜欢的,因为您不需要记住代表姓名:CommandManager.AddExecutedHandler(this, (s, e) => ExecuteHandler(s, e));