我有一个简单的UWP购物清单应用程序,它无需任何操作,并将其数据保存在本地存储中。当应用程序暂停时,我将当前列表写入本地存储。我想同时做的(或<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
<div class="hovereffect">
<img class="img-responsive" src="http://placehold.it/350x200" alt="">
<div class="overlay">
<h2>Effect 10</h2>
<p class="icon-links">
<a href="#">
<span class="fa fa-twitter"></span>
</a>
<a href="#">
<span class="fa fa-facebook"></span>
</a>
<a href="#">
<span class="fa fa-instagram"></span>
</a>
</p>
</div>
</div>
</div>
主页面)也要更新实时图块以显示当前列表中项目数量的计数,以便用户可以看到这一事实而无需启动应用程序。
我无法找到适合这种简单案例的文档/示例...没有后台任务,没有推送通知,没有在某些时间表上发生任何事情,只是简单地更新了一个瓦片,主要是为了响应用户行动。我可以找到的示例似乎涉及使用OnNavigatedFrom
,但我不明白是否需要一个,或者在这个简单的情况下是否应该使用它。
我需要在我的代码中进行更新的最基本步骤是什么,比如说,一个徽章计数(两者都在那里放一个值,如果计数为零则删除)?
答案 0 :(得分:2)
找到我自己的答案。
我创建了一个服务类,我在其中添加了以下方法,每当我需要更新徽章计数时,我都会调用该方法:
using Windows.Data.Xml.Dom;
using Windows.UI.Notifications;
/// <summary>
/// Add a badge count to the application tile (or remove if the count is zero)
/// </summary>
/// <param name="count">Number of items</param>
public static void Update(int count)
{
// Get an XmlDocument containing the badge template
var badgeXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber);
// Get the "badge" element
var badgeElement = (XmlElement)badgeXml.GetElementsByTagName("badge").First();
// Set the count in its "value" attribute (as string)
badgeElement.SetAttribute("value", count.ToString());
// Create a badge notification from the XML content.
var badgeNotification = new BadgeNotification(badgeXml);
// Send the badge notification to the app's tile.
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badgeNotification);
}