C#/XAML 错误 'button_Click' 没有重载匹配委托 'Windows.UI.Xaml.RoutedEventHandler'

C#/XAML Error No overload for 'button_Click' matches delegate 'Windows.UI.Xaml.RoutedEventHandler'

每次单击按钮时,我都会尝试在 App.xaml 中针对多个按钮在两个先前定义的样式之间切换。我尝试了通用事件处理程序,但它会显示错误 No overload for 'button_Click' matches delegate 'Windows.UI.Xaml.RoutedEventHandler'。我相信它与签名有关,但无法完全解决。这是MainPage.xaml.cs

中实现的方法
public void button_Click(object sender, EventArgs e)
    {
        var button = (Button)sender;
        if (button.Style != myButtonStyle)
            button.Style = myButtonStylePressed;
        else
            button.Style = myButtonStyle;
    }

这就是 MainPage.xaml 一键示例中的实现方式。

<Button Name="Row5Col4"
            Grid.Row ="5"
            Grid.Column ="4"
            Margin="10, 10, 10, 10"
            Height="10"
            Width="10" 
            HorizontalAlignment="Left"
            BorderThickness="0"
            Style="{StaticResource myButtonStyle}"
            Click="button_Click"
            >
    </Button>

重要提示:有些人建议使用 MouseClick 而不是 Click,但这不会起作用,因为它是 WP 应用程序。感谢您的光临。

根据Visual Studio导致错误的行是这一行 点击="button_Click"

Button 的 Click 事件没有 EventArgs.According 到 MSDN page 的参数类型,它必须是 RoutedEventArgs

所以您的代码必须是:

public void button_Click(object sender, RoutedEventArgs e)
{
    var button = (Button)sender;
    if (button.Style != myButtonStyle)
        button.Style = myButtonStylePressed;
    else
        button.Style = myButtonStyle;
}