Windows Phone 8系统托盘未显示

时间:2015-08-14 23:44:35

标签: c# windows-phone-7 windows-phone-8

这是我在cs文件中的代码。当我在不同的地方获取位置时,我有完全相同的代码,它可以工作,我能够看到进度条。为了获取位置我在系统托盘中包装异步方法,它的工作原理。来到这个Winodow显示照片我无法在当前页面的顶部看到进度指示器。这是我的一段代码。在xaml我也有shell:SystemTray.IsVisible =“True”。请帮助为什么进度条剂量出现。进度条只能用于异步吗?这不是整个代码,只是我遇到的问题。谢谢。

{{1}}

1 个答案:

答案 0 :(得分:1)

有时,您不会在构造函数中找到UI更改或某些繁重的方法调用。总是建议放置一些轻量代码,例如:构造函数中的事件注册。

请参考以下代码块,它可能对您有帮助。

    public Page1() 
    {
      InitializeComponent(); 
      this.Loaded += Page1_Loaded; 
    } 
    void Page1_Loaded(object sender, RoutedEventArgs e) 
    { 
      SystemTray.IsVisible = true; 
      SystemTray.ProgressIndicator = new ProgressIndicator(); 
      SystemTray.ProgressIndicator.Islndeterminate = true; 
      SystemTray.ProgressIndicator.IsVisible = true; 
      Display(); 
      SystemTray.ProgressIndicator.IsVisible = false; 
    }

在加载的事件中,您也可以使用异步函数调用。

==更新==
让我们尝试另一种方式,因为上面的代码对我有用。请尝试使用xaml(仅用于交叉检查)

shell:SystemTray.BackgroundColor="Black"
shell:SystemTray.ForegroundColor="White"
shell:SystemTray.Opacity="1"
shell:SystemTray.IsVisible="True">

<shell:SystemTray.ProgressIndicator>
<shell:ProgressIndicator
Text="Waiting"
IsIndeterminate="True"
IsVisible="True" />
</shell:SystemTray.ProgressIndicator>

将此代码放入您的页面中,以便正式检查它是否是导致错误的任何其他内容。

其次,请在代码端尝试以下代码。您应该一次实现这些。

ProgressIndicator progress = new ProgressIndicator
{
    IsVisible = true,
    IsIndeterminate = true,
    Text = "Downloading details..."
};
SystemTray.SetProgressIndicator(this, progress);

为了清楚了解,希望您只构建Windows Phone 8应用程序并正确实现所有其他内容。

仅仅为了知识,你的“显示”方法应该花一些时间来执行,因为如果它执行得非常快,那么ProgressIndicator可能不可见。

是的,出于测试目的,您可以让调度员采用单独的UI线程。