Metro App OnSearchActivated ProgressRing未显示

时间:2013-05-30 21:14:07

标签: windows-runtime microsoft-metro winrt-xaml c#-5.0 winrt-async

我正在 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正常工作。如果是这样,最简单的方法是使该方法等待,如果没有,请告知我在这里缺少的内容。

1 个答案:

答案 0 :(得分:0)

  

如果是这样,最简单的方法就是让这种方法等待,如果不是,请告诉我这里缺少的东西。

将其标记为async并让其返回Task。在该方法中,对其他异步操作使用await