Windows 10休眠问题。图形消失

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

SystemEvents not found


SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;?如果您右键单击它,Visual Studio可能会找到正确的使用方式。 - VoidStar
@VoidStar 我认为这个事件在Windows UWP应用程序中不可用... 至少不是以这种形式。 - Alex H
@JorisWeimar 对不起,我一半的时间都在处理Windows应用程序,我正在寻找这些东西...如果我找到了什么,我会发布它。 - Alex H
@JorisWeimar,你能试着检查一下暂停吗?我认为当Windows休眠时,应用程序可能会被暂停。而且有方法可以检查它。 - Alex H
1
很遗憾,当电脑唤醒或挂起时简历并不会被调用,@AlexH。 - Joris Weimar
显示剩余4条评论
2个回答

1
我只想添加与我的问题相关的答案:图形消失。
我有多个具有相同源URI(指向相同图像)的图像元素。其中一个被隐藏,另一个没有。不知何故,这导致了图像全部消失。可能与XAML如何处理引用图像有关,特别是在暂停/唤醒后。我在其中一个图像URI上添加了?1,问题得到了解决。

1
如果API不可用,则可以尝试在鼠标/键盘闲置一定时间后根据活动刷新UI,如果这样可以的话,需要将闲置时间设置为计算机进入睡眠状态所需的时间。另外,您还可以尝试在计算机从睡眠状态唤醒后捕获自己应用程序上的激活事件。

激活事件没有被调用。我考虑过鼠标/键盘活动的“hack”,但那似乎非常丑陋。如果你移动鼠标唤醒键盘,图形将会缺失,直到鼠标移动或键盘被敲击。感谢您的建议! - Joris Weimar
好的,我猜如果“Windows UWP”应用程序存在API支持问题,你可以尝试创建一个单独的应用程序,以后台服务或后台进程的形式,使用不同类型的项目,该项目将具有访问所需API的权限,并从UWP应用程序与其通信以执行所需操作。我个人从未尝试过这样做,但我认为这是可能的。 - Anas
不需要另外开发一个应用,许多应用可以在用户应用程序和后台服务中同时工作。你可能可以将其创建为项目内的类库项目,然后通过你的应用或单独部署作为服务到用户系统上。如果通过你的应用来实现,你将拥有对其的控制权,用户也无需安装另一个应用程序。 - Anas
啊,我明白了。我选择了一个空闲检测系统。谢谢。 - Joris Weimar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接