我正在 Metro 应用程序中实施搜索。搜索效果很好,结果和 UI 出现了预期但有一个问题。
我尝试在搜索之前显示ProgressRing
并在搜索完成后隐藏它,但它永远不会显示。
我缺少什么,下面的代码段:
protected override void OnSearchActivated(Windows.ApplicationModel.Activation.SearchActivatedEventArgs args)
{
// Some Metro designer generated code here
// Show progress ring
MainPage.Current.ResetProgressRingState(true);
// Bind search results
MainPage.Current.BindSearchResults(args.QueryText);
// Ensure the current window is active
Window.Current.Activate();
// Hide progress ring
MainPage.Current.ResetProgressRingState(false);
}
我怀疑需要等待BindSearchResults
方法才能使ProgressRing
正常工作。如果是这样,最简单的方法是使该方法等待,如果没有,请告知我在这里缺少的内容。
答案 0 :(得分:0)
如果是这样,最简单的方法就是让这种方法等待,如果不是,请告诉我这里缺少的东西。
将其标记为async
并让其返回Task
。在该方法中,对其他异步操作使用await
。