You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP Live Tiles创建方法咨询及更新示例请求:代码插入位置解惑

UWP中创建和更新Live Tiles的完整指南及示例代码

Hey Tom, 我来帮你彻底搞懂UWP里的Live Tiles!不管是搭建基础动态磁贴,还是解决更新方法找不到、代码不知道放哪儿的问题,这篇内容都给你安排明白~

一、先理清核心逻辑

Live Tiles的本质是通过XML模板定义内容,再用TileUpdateManager这个核心类来推送更新到系统磁贴。微软提供了几十种预定义模板(比如文本类、图文混合类),你可以直接用,也可以自定义模板。

二、磁贴更新的关键方法(你要找的就是这个!)

之前你说找不到更新方法,其实核心就是这几个:

  • TileUpdateManager.CreateTileUpdaterForApplication():获取主应用磁贴的更新器
  • TileUpdater.Update(TileNotification):把新的磁贴内容推送到系统
  • TileUpdateManager.GetTemplateContent():获取预定义的磁贴XML模板

三、完整可运行的示例代码

下面是一个基础的动态磁贴更新代码,包含从模板获取到推送更新的全流程:

using Windows.UI.Notifications;
using Windows.Data.Xml.Dom;

// 1. 获取主应用磁贴的更新实例
TileUpdater tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();

// 可选:清空之前的磁贴内容,避免旧内容干扰
tileUpdater.Clear();

// 2. 选择一个预定义的磁贴模板(这里用方形文本模板,你可以换其他类型)
XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150Text01);

// 3. 获取模板里的文本节点,填充自定义内容
XmlNodeList textNodes = tileXml.GetElementsByTagName("text");
// 第一个文本节点是标题
textNodes[0].AppendChild(tileXml.CreateTextNode("我的第一个Live Tile"));
// 第二个文本节点是副标题
textNodes[1].AppendChild(tileXml.CreateTextNode("这是动态更新的内容哦!"));

// 4. 创建磁贴通知对象
TileNotification tileNotification = new TileNotification(tileXml);

// 可选:设置磁贴内容的过期时间,到期后恢复默认磁贴
tileNotification.ExpirationTime = DateTimeOffset.Now.AddHours(2);

// 5. 推送更新到系统磁贴
tileUpdater.Update(tileNotification);

四、代码该插在哪里?

这分几种场景:

  • 启动应用时自动更新:把代码放到MainPage.xaml.cs的构造函数里,或者OnNavigatedTo方法中,打开应用就会更新磁贴。
  • 用户触发更新(比如点击按钮):新建一个按钮,在它的Click事件处理方法里粘贴这段代码,用户点按钮就更新。
  • 后台定时更新:如果需要每隔一段时间自动更新,就得创建后台任务,把更新代码放到后台任务的Run方法里,同时要在Package.appxmanifest中声明后台任务类型为"计时器"或"推送通知"。

五、进阶小技巧

  • 想显示更多内容?可以用宽屏模板,比如TileWide310x150Text03,代码逻辑一样,只是模板类型变了。
  • 要更新次级磁贴(不是主应用磁贴)?把CreateTileUpdaterForApplication()换成CreateTileUpdaterForSecondaryTile("你的次级磁贴ID")就行。
  • 自定义模板:如果预定义模板不够用,你可以自己写XML结构,只要符合UWP磁贴的XML规范就行。

如果还有细节问题,比如自定义模板怎么写、后台任务怎么配置,随时问我!

内容的提问来源于stack exchange,提问作者Tom Red

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 09:07:48