gpt4 book ai didi

c# - Windows Phone 8 系统托盘未出现

转载 作者:行者123 更新时间:2023-11-30 21:55:44 24 4
gpt4 key购买 nike

这是我在 cs 文件中的代码。在不同的地方获取位置时,我有完全相同的代码并且它有效并且我能够看到进度条。为了获取位置,我在系统托盘中包装了一个异步方法并且它有效。来到这个 Winodow 显示照片我无法看到当前页面顶部的进度指示器。这是我的一段代码。在 xaml 中我也有 shell:SystemTray.IsVisible="True"。请帮助显示进度条的原因。进度条是否仅适用于异步?这不是完整的代码,而只是我遇到问题的部分。谢谢。

public DisplayPhotos()
{
InitializeComponent();
this.DataContext = this;
SystemTray.ProgressIndicator = new ProgressIndicator();
SystemTray.ProgressIndicator.Text = "Getting Photos";
DisplayPhotos.SetprogressIndicator(true);
Display(); //Not an async method.
DisplayPhotos.SetprogressIndicator(false);
}

private static void SetprogressIndicator(bool value)
{
SystemTray.ProgressIndicator.IsIndeterminate = value;
SystemTray.ProgressIndicator.IsVisible = value;
}

最佳答案

通常,您不会看到在单个非异步函数调用中进行的任何 UI 更新然后恢复。 UI 每个“tick”仅更新一次,因此如果您在同一个函数中同时显示和隐藏 UI,则它永远不会显示。有关 UI 如何在同步处理期间不更新的概念的更多信息,请参阅 this MSDN page (它是为 WPF 编写的,但通常适用于 XAML):

请注意,这不是严格正确的,例如独立动画发生在单独的线程上,但这是一般的经验法则。

此外,在页面构造函数中设置 ProgressIndicator 时我会非常小心,因为在某些情况下它会失败(我想如果它是在应用程序中创建的第一个页面)。您应该等到页面加载完毕后才显示/隐藏指示器。

关于c# - Windows Phone 8 系统托盘未出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32020109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com