我正在使用C# / UWP来创建一个应用程序。在该应用程序中,我希望在发生特定事件时闪烁窗口,以便该应用程序的用户知道发生了什么事情。如何在我的C# UWP应用程序中获得这一点?
就像在Yahoo中一样,如果您收到一条消息,那么消息窗口会闪烁以获得您的焦点,我希望在我的应用程序中使用这种效果。
发布于 2019-12-03 13:30:48
目前,似乎没有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);
}
发布于 2019-12-03 06:19:33
我明白你说的了。但是UWP应用程序不同于Win32应用程序,您无法控制Window
的焦点。
我的意思是,如果当前应用程序没有获得焦点(例如最小化),那么当前ApplicationView
上的操作是无效的。
但与窗口闪烁相比,UWP的信息应用有更好的提示方式,如ToastNotification
,这是推荐的做法。
如果您想了解更多关于ToastNotification
的信息,可以参考这个文档
诚挚的问候。
https://stackoverflow.com/questions/59150939
复制相似问题