【问题标题】:Progress bar that is visible on all pages in my app在我的应用程序的所有页面上都可见的进度条
【发布时间】:2014-12-02 11:29:51
【问题描述】:

例如,在我的应用程序的一个页面中,我正在异步下载多个图像。我想保持可见的进度条来通知图像的下载状态。但是当我离开当前页面时,进度条消失了。有没有办法在所有页面中显示进度条?

【问题讨论】:

  • 您是否考虑过在System Tray 中显示下载进度?

标签: c# xaml windows-phone-8 progress-bar


【解决方案1】:

如果您从一个页面导航到另一个页面,对象会被丢弃,这就是您无法在导航上看到进度条的原因。

解决方案是使用以下方法使用默认的 windows phone 进度条。尝试将此方法包含在扩展 Page 类的基类中。

  public static void ShowLoader(string loaderMessage, bool showProgress)
    {

        StatusBarProgressIndicator progressbar = StatusBar.GetForCurrentView().ProgressIndicator;

        progressbar.Text = string.IsNullOrEmpty(loaderMessage) ? "Please wait..." : loaderMessage;

        if (showProgress)
        {

            progressbar.ShowAsync();

        }

        else
        {

            progressbar.HideAsync();

        }

    }

【讨论】:

  • 认为这仅适用于 WP8.1 运行时。不确定。
  • 感谢@heena 更新我的代码。这适用于 8 和 8.1。
  • @Somdev Singh,请您解释一下以下行:“StatusBarProgressIndicator progressbar = StatusBar.GetForCurrentView().ProgressIndicator;
  • @raisul - 这将初始化当前视图进度指示器,该指示器将进一步用于显示您的文本和进度指示器。
  • 看起来我没有 StatusBarProgressIndicator 类,并且 IDE 也无法识别 StatusBar。我错过了什么吗? @Somdev Singh
猜你喜欢
  • 2014-09-22
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-18
  • 2021-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多