C# 异步执行另一个任务时,我的接口冻结
对不起,我的英语不好 我调用我的页面,称为“MessagePage”,其中包含初始化组件“this.InitializeComponent();”的方法 我创建了一个在加载页面时调用的方法,称为“page_Loaded” 在这个方法中,有一个对另一个方法的调用,它将加载大量数据来填充接口中的网格,这个方法可能需要10秒钟才能执行 但是,在该方法响应之前,我的接口是冻结的 我希望在请求数据时界面变得正常C# 异步执行另一个任务时,我的接口冻结,c#,windows,xamarin,uwp,C#,Windows,Xamarin,Uwp,对不起,我的英语不好 我调用我的页面,称为“MessagePage”,其中包含初始化组件“this.InitializeComponent();”的方法 我创建了一个在加载页面时调用的方法,称为“page_Loaded” 在这个方法中,有一个对另一个方法的调用,它将加载大量数据来填充接口中的网格,这个方法可能需要10秒钟才能执行 但是,在该方法响应之前,我的接口是冻结的 我希望在请求数据时界面变得正常 public MessagePage() { this.Initia
public MessagePage()
{
this.InitializeComponent();
}
private async void Page_Loaded(object sender, RoutedEventArgs e)
{await PopulateGrid();}
private async Task PopulateGrid() { //my code}
我已经感谢您的帮助。我在等待答案的同时创建了一个任务,从而解决了我的问题。像这样:
await Task.Run(() =>
{
while (!result)
{
if (startTime.AddSeconds(10) < DateTime.Now)
{
break;
}
}
});
等待任务。运行(()=>
{
而(!结果)
{
if(startTime.AddSeconds(10)
您需要向我们展示PopulateGrid
的实际功能。仅仅因为它是async
并不意味着它将在非gui线程上运行。