首页 > 解决方案 > 在 C#/UWP 中发生特定事件时强制窗口闪烁

问题描述

我正在使用 C#/UWP 制作应用程序。在该应用程序中,如果发生特定事件,我想使窗口闪烁,以便该应用程序的用户知道发生了什么事。如何在我的 C# UWP 应用程序中获取此信息?

就像在 Yahoo Messenger 中一样,如果您收到一条消息,那么消息窗口会闪烁以吸引您的注意力,我想在我的应用程序中使用该效果。

标签: c#uwp

解决方案


​目前,似乎没有 api 可以在任务栏中闪烁您的应用程序图标。如果你想实现一些吸引眼球的效果,你可以使用通知或者让通知徽章出现在你应用的任务栏图标上,但它是一个没有动画的静态效果。更多详细信息,您可以参考此文档。https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/badges

private void updateBadgeGlyph()
 {​
     string badgeGlyphValue = "attention";​
 ​
     XmlDocument badgeXml = ​
         BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);​
 ​
     Windows.Data.Xml.Dom.XmlElement badgeElement = ​
         badgeXml.SelectSingleNode("/badge") as Windows.Data.Xml.Dom.XmlElement;​
     badgeElement.SetAttribute("value", badgeGlyphValue);​
 ​
     BadgeNotification badge = new BadgeNotification(badgeXml);​
 ​
     BadgeUpdater badgeUpdater = ​
         BadgeUpdateManager.CreateBadgeUpdaterForApplication();​
 ​
     badgeUpdater.Update(badge);​
 ​
 }

推荐阅读