Leo*_*ida 6 c# button xamarin xamarin.forms
我正在使用Xamarin Forms开发跨平台应用程序.
我想将"Do Something"按钮的文本更改为"Wait",而代码正在处理例程,并在代码完成运行后返回"Do Something".
问题是:按钮文本仅在代码完成后更改.
简单的例子:
private void Button_Clicked(object sender, EventArgs e)
{
var btn = (Button)sender;
btn.Text = "Wait";
...some code..
btn.Text = "Do Something";
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在代码完成之前"强制"将文本更新"等待"?
private async void Btn1_Clicked(object sender, EventArgs e)
{
btn1.Text = "Wait";
await Task.Run(async () =>
{
for (int i = 1; i <= 5; i++)
{
//if your code requires UI then wrap it in BeginInvokeOnMainThread
//otherwise just run your code
Device.BeginInvokeOnMainThread(() =>
{
btn1.Text = $"Wait {i}";
});
await Task.Delay(1000);
}
});
btn1.Text = "Done";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4572 次 |
| 最近记录: |