visualstudio-Xamarin表单xaml按钮点击处理程序未启动c#

本文关键字:程序 启动 处理 表单 xaml 按钮 visualstudio-Xamarin | 更新日期: 2023-09-27 17:59:00

我已经使用VS 2015和xamarin表单创建了一个跨平台项目。我添加了包含文本框和按钮的xaml页面。在后面的代码中,我有如下的代码

public Inno()
{
   InitializeComponent();
   btntest.Clicked += Btntest_Clicked;
 }
Private void Btntest_Clicked(object sender, EventArgs e)
{
    if(string.IsNullOrEmpty(Name.Text))
    {                
        return;
    }
}

当我运行android模拟器来测试页面时,它会触发构造函数。但当我点击按钮时,它不会触发点击事件。有什么问题吗?请帮忙。感谢

visualstudio-Xamarin表单xaml按钮点击处理程序未启动c#

您可以尝试以下几种方法:

  1. 连接xaml中的事件处理程序,看看它是否有效——因为您在构造函数中订阅了事件,所以这在功能方面不会有什么不同

编辑:要做到这一点,在你的xaml:

<Button Clicked="buttonClicked" />

当intellisense提示您创建新的处理程序时,请按tab键。

  1. 正如@hankide所说,设置一个断点,并确保它实际上没有进入断点,并且问题不在于事件处理程序中的代码

您需要确保您的btntest对象已正确映射到XAML侧的按钮。默认情况下,XAML对象没有您在WinForms或WebForms中习惯的"名称",并且需要为它们分配名称属性。对我来说,我通常会把我的按钮标记为:

<Button x:Name=btntest Text="Click Me></Button>

然后在后面的代码中,我必须按名称找到按钮,以便连接事件:

var testButton = this.FindByName<Button>("btntest");
testButton.Clicked += Btntest_Clicked;

从那里开始,一切都如预期。

试试这个:

btntest.Clicked += new EventHandler(Btntest_Clicked);

感谢大家的回答。。。不确定我为什么关闭解决方案并重新打开它,它工作正常。