为啥 Xamarin 会在单击按钮时出现错误?

Posted

技术标签:

【中文标题】为啥 Xamarin 会在单击按钮时出现错误?【英文标题】:why is Xamarin giving error with button Clicked?为什么 Xamarin 会在单击按钮时出现错误? 【发布时间】:2019-08-16 05:00:22 【问题描述】:

基本上我收到了这个错误 在类型“login.MainPage”(登录)中找不到具有正确签名的 EventHandler“PressMeButton_Clicked”

login 是我的项目名称,login_Clicked 是我点击的事件处理程序

我正在尝试制作一个简单的登录页面,并且在文档中我看到了 Clicked 的各种工作方式,但是每次我尝试在 xaml.cs 文件上编写该方法时,编译时都会出现上述错误,如果我删除它的工作方法。

  <Button x:Name="PressMeButton"
                Text="Press Me!"
                Pressed="PressMeButton_Pressed"
                Clicked="PressMeButton_Clicked" />

这是 XAML 部分,您可以在 Clicked the name I have for the event 上看到 和

 private void PressMeButton_Clicked(object sender, EventArgs e)
        
            (sender as Button).Text = "I was just clicked!";
        

所以我希望显示一个文本说我被点击了,但它甚至没有编译。

【问题讨论】:

如果你使用RoutedEventArgs而不是EventArgs,它是否有效? @mjwills 它给出了一个错误,当我切换时找不到类型 RoutedEventArgs 您能否添加您可能面临的编译时错误?因为我重用了你的代码,所以我没有收到任何编译时错误 我认为编译不是实际错误只是IDE智能问题,直接尝试在真实设备中执行应用程序。你的代码是正确的。 @Ericaross 尝试清理并构建。 【参考方案1】:

这是一个老问题,但我遇到了类似的问题。没有很好的解释为什么它会给出错误。它甚至会发生在 IDE 自己生成的空处理程序上。我尝试清理解决方案、重建等。

我发现有一些卡住的构建任务仍在继续。它们出现在通常显示“就绪”的底部栏中。对我来说,解决方案是重新启动 VS。一旦它开始备份,构建工作正常。

【讨论】:

【参考方案2】:

代码隐藏中的事件处理程序应该是protected,而不是private

protected void PressMeButton_Clicked(object sender, EventArgs e)

    (sender as Button).Text = "I was just clicked!";

【讨论】:

以上是关于为啥 Xamarin 会在单击按钮时出现错误?的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试从 Xamarin Samples 运行 Social Framework Demo App 时出现错误

QuickBlox 有时会在登录时出现未经授权的错误。为啥?

Magento 2 - 单击按钮缓存清理目录图像时出现错误消息

为啥当我点击更新按钮时出现错误TypeError: r is undefined?

ElementNotVisibleException:消息:尝试通过 Selenium 和 Python 单击按钮时出现元素不可交互错误

为 iOS 应用程序创建了一个下一步按钮...单击时出现 SIGABRT 错误