UWP中,我设置了两个按钮,单击第一个按钮进行一个循环,单击第二个按钮停止这个循环,但是不管怎么处理按下第一个按钮以后都成了一个死循环,程序呈现卡死状态。这就让我想到必须要用异步编程来解决这个问题,网上UWP的教程什么的实在太少了,在MSDN里面研究了一天到底怎么写异步,终于是让我给解决了!
接下来就简单讲一下怎么进行异步编程跳出这个死循环:
private async void FirstButton_Click(object sender, RoutedEventArgs e)
{
SecondButton.Visibility = Visibility.Visible;
FirstButton.Visibility = Visibility.Collapsed;
try
{
do
{
//写要循环的内容
} while (SecondButton.Visibility == Visibility.Visible);
}
catch (Exception)
{
//写error情况
}
}
async Task name() // name为自己定义的函数
{
await Task.Delay(10); // ()里面的数字单位是ms
return value; // value自己定义
}
using System.Threading.Tasks;
大致上就是这样啦~
另外附上MSDN的链接:
https://msdn.microsoft.com/zh-cn/library/hh156528(v=vs.110).aspx
https://msdn.microsoft.com/library/hh191443(vs.110).aspx
(本文为作者原创。转载请注明:转自carlzhang.xyz)
本文首发地址:http://blog.csdn.net/carlzj/article/details/52059969