在 windows 商店应用中调用服务时不显示 ProgressBar 按钮

ProgressBar button doesn't show while service call in windows store app

我想在进行服务调用时显示 ProgressBar。 Product.xml

<ProgressBar Name="loading1" Visibility="Collapsed" IsIndeterminate="True" HorizontalAlignment="Left" Height="50" Width="535" VerticalAlignment="Center" Background="White" Grid.Row="1" Margin="0,311,0,310"/>

Product.xml.cs

loading.Visibility = Visibility.Visible;  //loading start
getAllProductDetails();   //contain service call and bind data in list
loading.Visibility = Visibility.Collapsed;  //loading finish

加载应在“getAllProductDetails()”调用之前开始,并应在“getAllProductDetails()”完成后完成。

如果我也使用了 await Task.Run(() => getAllProductDetails()); 它会继续执行下一行“await Task.Run(() => getAllProductDetails());”。它必须等到“getAllProductDetails()”调用完成它的工作。

任何人都可以告诉我我在这里缺少什么吗?

getAllProductDetails() 更改为 return Task 而不是 void

private async Task getAllProductDetails()
{
    // Body
}

然后这样调用

loading.Visibility = Visibility.Visible;  //loading start
await getAllProductDetails();
loading.Visibility = Visibility.Collapsed;  //loading finish

如果任何异步函数 returns void 你不能等待执行完成。