【问题标题】:Windows 10 Sleep Issue. Graphics disappearingWindows 10 睡眠问题。图形消失
【发布时间】:2015-09-02 20:36:16
【问题描述】:

我有一个 Windows UWP C#/XAML 应用程序有一个奇怪的问题。当显示器进入睡眠状态并且我唤醒计算机时,一些按钮图形消失了。我有一个 Windows 8 应用程序,它在 Windows 10 上表现出相同的行为,但在 Windows 8 上却没有。我想尝试构建一个解决方法,在从睡眠中醒来时刷新 UI 元素,但我很难找到触发器。我听说过这个PowerModeChanged event,但我找不到这个API。有什么想法吗?

【问题讨论】:

  • SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;?如果您只需右键单击它,Visual Studio 可能会找到正确的使用方法。
  • 查看更新的问题。 API 不可用。我已经为 UWP 添加了桌面扩展,但仍然没有成功。
  • @VoidStar 我认为此事件不适用于 Windows UWP 应用程序...至少不会以这种形式出现。
  • @AlexH 知道它是什么形式的吗?
  • @AlexH 不幸的是,当计算机唤醒时没有调用简历...(或挂起)

标签: c# windows hibernate xaml windows-10


【解决方案1】:

如果 API 不可用,您可以在闲置一段时间后尝试根据鼠标/键盘活动刷新 UI,如果可行,您需要让闲置等于计算机睡眠所需的时间,另一个您也可以尝试在您自己的应用程序上捕获激活的事件,以防它在睡眠后触发。

【讨论】:

  • 激活的事件没有被调用。我考虑过鼠标/键盘活动“hack”,但这看起来很丑陋。如果您移动鼠标以唤醒键盘,则在移动鼠标或点击键盘之前,图形将丢失。不过感谢您的建议!
  • 好的,我想如果“Windows UWP”应用程序存在 API 支持问题,您可以尝试的一件事是使用不同的后台服务或后台进程的形式创建一个单独的应用程序可以访问所需 API 并从 UWP 应用与其通信以执行所需操作的项目类型。我从未亲自尝试过,但我想这可能是可能的。
  • 它不必是一个单独的应用程序,许多应用程序在用户应用程序和后台服务中都可以工作,您可以在项目中将其创建为类库项目,然后将其部署为服务使用您的应用程序本身或单独到用户的系统。如果您通过您的应用执行此操作,您将对其进行控制,用户无需安装其他应用。
  • 啊,我明白了。我使用了一个空闲检测系统。谢谢。
【解决方案2】:

我只是想在我的问题中添加与原始问题相关的答案:图形的消失。

我有多个 Image 元素,它们具有相同的 Source URI(指向相同的图像)。其中一个是隐藏的,另一个没有。不知何故,这导致图像完全消失。必须与 XAML 如何处理引用图像有关,尤其是在挂起/唤醒之后。我将 ?1 添加到图像 URI 之一,问题已解决。

【讨论】:

    猜你喜欢
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    相关资源
    最近更新 更多