根据您的描述,您希望在单击和任务完成时更改按钮文本,但我不知道您在哪里修改按钮文本,我做了一个关于运行长任务和更改按钮文本的示例给你。你看是否需要你的需要。
private void Button_Clicked(object sender, EventArgs e)
{
btna.Text = "Wait";
Task.Run(() => method1());
Console.WriteLine("UI thread is not block");
}
private async void method1()
{
await Task.Run(async () =>
{
for (int i = 1; i <= 10; i++)
{
Console.WriteLine("the data is {0}", i);
await Task.Delay(1000);
}
});
Console.WriteLine("the task is done!");
Device.BeginInvokeOnMainThread(() =>
{
btna.Text = "Done";
});
}
你可以看到我可以改变按钮a的文字当我点击,我也可以改变回按钮a当长任务完成使用