Xamarin表示xaml按钮点击处理程序没有激活c#

时间:2016-07-27 15:08:01

标签: c# visual-studio xamarin.forms

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

public Inno()
{
   InitializeComponent();
   btntest.Clicked += Btntest_Clicked;
 }

Private void Btntest_Clicked(object sender, EventArgs e)
{
    if(string.IsNullOrEmpty(Name.Text))
    {                
        return;
    }
}

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

4 个答案:

答案 0 :(得分:1)

你可以尝试一些事情:

  1. 在xaml中挂钩事件处理程序,看看是否有效 - 因为你在构造函数中订阅了这个事件,这不应该在功能上有所区别。
  2. 编辑:在你的xaml中执行此操作:

    <Button Clicked="buttonClicked" />
    

    并在intellisense提示您创建新处理程序时按Tab键。

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

答案 1 :(得分:0)

您需要确保您的最佳对象已正确映射到XAML方面的按钮。默认情况下,XAML对象没有&#34;名称&#34;因为您可能习惯于WinForms或WebForms,并且需要为其分配名称属性。对我来说,我的按钮通常标记为:

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

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

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

从那里一切都按预期工作。

答案 2 :(得分:0)

试试这个:

btntest.Clicked += new EventHandler(Btntest_Clicked);

答案 3 :(得分:0)

谢谢大家的回答...不知道为什么我关闭解决方案并重新打开它,它运行正常。