如何从按钮调用异步方法

时间:2014-05-14 16:12:15

标签: xamarin.ios xamarin

我正在尝试使用故事板设计师在alpha中使用最新的xamrian调用aysnc方法,但我似乎无法通过desginer声明的按钮单击来调用该方法。 CS

async public  void Createuser ()
{        
    var user = new ParseUser ()
    {
        Username = txtUserName.Text,
        Password = txtPassword.Text,
        Email = txtEmail.Text
    };

    await user.SignUpAsync ();
}

我希望调用方法的按钮是

partial void btnSave_TouchUpInside (UIButton sender)
{
    Createuser();        
}

但是如果我们看一下designer.cs文件中的以下内容

[Action ("btnSave_TouchUpInside:")]
[GeneratedCode ("iOS Designer", "1.0")]
partial void btnSave_TouchUpInside (UIButton sender);

1 个答案:

答案 0 :(得分:5)

根据您的问题,我假设您不能将async修饰符添加到事件处理程序中吗?

async partial void btnSave_TouchUpInside (UIButton sender)
{
    await Createuser();        
}

我通常使用lambda进行内联点击:

btnSave.TouchUpInside += async (sender, e) => 
{
    await Createuser(); 
};