Windows 10 开发 - 动态磁贴


在本章中,我们将讨论通过图块与用户进行交互。它是 Windows 10 的标志性部分。磁贴显示在“开始”屏幕以及“开始”菜单上。换句话说,它是一种应用程序图标资源,在整个 Windows 10 操作系统中以多种形式出现。它们是通用 Windows 平台 (UWP) 应用程序的名片。

瓷砖解剖

瓷砖有三种状态。

  • 基本状态- 开始图块的基本组件包括背板、图标和应用程序标题。

基本状态
  • 半实时状态- 与基本图块相同,唯一的区别是徽章是数字,可以显示 0-99 的数字。

半实时状态
  • 实时状态- 此图块包含半实时状态图块的所有元素,还显示附加内容板,您可以在其中放置您想要的任何内容,例如照片、文本等。

更新图块

有四种更新图块的方法。

  • Scheduled - 您可以使用ScheduledTileNotification设置模板和时间。

  • 定期- 当从 URI 检索信息时,您可以指定在该时间段之后提取信息的时间,例如 30 分钟、1 小时、6 小时。ETC。

  • 本地- 本地可以从您的应用程序更新;从前台或后台应用程序。

  • 推送- 通过从服务器推送信息来从服务器更新。

要创建图块,请遵循给定的代码。

var tileXml = 
   TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150Text01); 
 
var tileAttributes = tileXml.GetElementsByTagName("text"); 
tileAttributes[0].AppendChild(tileXml.CreateTextNode("Hello"));
			
var tileNotification = new TileNotification(tileXml);			
TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);

更新徽章非常简单,因为它只是一个数字,您可以设置徽章的值,如下所示。

var type = BadgeTemplateType.BadgeNumber; 
var xml = BadgeUpdateManager.GetTemplateContent(type);  

var elements = xml.GetElementsByTagName("badge"); 
var element = elements[0] as Windows.Data.Xml.Dom.XmlElement; 
element.SetAttribute("value", "7");
  
var updator = BadgeUpdateManager.CreateBadgeUpdaterForApplication(); 
var notification = new BadgeNotification(xml); 
updator.Update(notification);

让我们在 Visual Studio 中创建一个新的 UWP 项目。

  • 您将在解决方案资源管理器的Assets文件夹下看到不同的 png 文件。

资产文件夹
  • 让我们在包清单中定义一个默认图块及其图像。

  • 双击package.appxmanifest。这将打开清单编辑器窗口。

  • 选择视觉资产选项卡。

视觉资产
  • 您可以为应用程序图块选择任何指定尺寸的图像和图标。在平铺图像和徽标下,为所有徽标提供了默认图像,例如

    • 方形 71x71 徽标
    • 方形 150x150 标志
    • 方形 310x310 标志
    • 商店标志
  • 当您执行应用程序然后转到开始屏幕时,您将看到应用程序的磁贴。

执行您的申请