You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF俄罗斯方块报错:事件与RoutedEventHandler委托不匹配

解决WPF俄罗斯方块报错:No overload for 'GameCanvas_Loaded' matches delegate 'RoutedEventHandler'

问题出在你给事件绑定的方法签名不符合WPF对应事件的委托要求——你错误地用了KeyEventArgs作为参数,而Loaded和Click事件需要的是RoutedEventArgs参数。

正确的事件处理方法写法:

  • GameCanvas_Loaded方法(对应Loaded事件):
private void GameCanvas_Loaded(object sender, RoutedEventArgs e)
{
    // 你的初始化逻辑
}
  • PlayAgain_Click方法(对应Click事件):
private void PlayAgain_Click(object sender, RoutedEventArgs e)
{
    // 重新开始游戏的逻辑
}

为什么之前的写法不对?

WPF不同事件对应不同的委托类型:

  • Window_KeyDown属于KeyEventHandler委托,参数是KeyEventArgs,这个是对的;
  • Loaded和Click事件属于RoutedEventHandler委托,必须接收RoutedEventArgs类型的参数,用KeyEventArgs会导致签名不匹配,触发报错。

修改完方法参数后,重新编译运行就能解决这个问题。

内容的提问来源于stack exchange,提问作者Molzard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:55:19