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