【问题标题】: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 尝试清理并构建。

标签: c# xamarin mobile


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      相关资源
      最近更新 更多