当 C# / UWP 中发生特定事件时,强制窗口闪烁

  • 本文关键字:事件 闪烁 窗口 UWP c# uwp
  • 更新时间 :
  • 英文 :


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

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

目前,似乎没有 API 可以在任务栏中闪烁应用的图标。如果要实现一些引人注目的效果,可以使用通知或使通知徽章显示在应用的任务栏图标上,但这是一种没有动画的静态效果。有关更多详细信息,您可以参考此文档。https://learn.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);​
​
}

我明白你的意思。但是 UWP 应用程序与 Win32 应用程序不同,您无法控制Window的焦点。

我的意思是,如果当前应用程序没有得到焦点(例如最小化(,那么对当前ApplicationView的操作是无效的。

但与窗口闪烁相比,UWP 的信息应用程序具有更好的提示方式,例如ToastNotification,这是推荐的做法。

如果您想了解有关ToastNotification的更多信息,可以参考此文档

此致敬意。

最新更新