我正在使用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
的更多信息,可以参考此文档
此致敬意。