自定义小组件标头区域

在最新版本中,实现 Windows 小组件的应用可以自定义在小组件开发板中为其小组件显示的标头,从而替代默认演示文稿。 标头自定义是在从小组件提供程序传递给操作系统的自适应卡有效负载中实现的,因此无论小组件提供程序使用何种语言实现,步骤都是相同的。 要了解创建小组件提供程序的详细步骤,请参阅 在 C# Windows 应用中实现小组件提供程序在 win32 应用(C++/WinRT)中实现小组件提供程序

默认标头

默认情况下,小组件标头显示应用清单文件中指定的显示名称和图标。 显示名称是通过 Definition 元素的 DisplayName 属性指定的,图标是通过 ThemeResources下的 Icon 元素指定的。 有关小组件应用清单文件格式的详细信息,请参阅 小组件提供程序包清单 XML 格式

以下示例显示了使用默认呈现的自适应卡片的小组件 JSON 负载的一部分。 在以下部分中,将提供修改此模板以替代默认标头的示例。

{ 
    "type": "AdaptiveCard", 
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", 
    "version": "1.6", 
    "body": [
        ...
    ] 
  } 

替代显示名称字符串

可以在将 JSON 有效负载中的新显示名称添加一个 header 字段,然后将其发送到小组件主机,从而替代应用清单中 DisplayName 元素中指定的值。

以下示例介绍如何替代显示名称字符串。

{ 
    "type": "AdaptiveCard", 
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", 
    "version": "1.6", 
    "body": [
        ...
    ] ,
    "header": "Redmond Weather"
  } 

替代显示名称字符串和图标

若要覆盖应用清单中指定的显示名称字符串和图标,请添加一个具有 texticonUrl字段的 header 对象。

以下示例演示如何重写显示名称字符串和图标。

{ 
    "type": "AdaptiveCard", 
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", 
    "version": "1.6", 
    "body": [
        ...
    ] ,
    "header": { 
         "text": "Redmond weather", 
         "iconUrl": "https://contoso.com/weatherimage.png" 
      } 
  } 

将标头设置为空

某些小组件供应商可能希望允许其完整用户体验扩展到小组件的标题区域,即使小组件的此区域不可交互。 对于此方案,可以通过将 header 感觉的设置为 null 来将标头设为空。 请注意,用户无法单击标头中的 UX。

以下示例演示如何设置空标头。

{ 
    "type": "AdaptiveCard", 
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", 
    "version": "1.6", 
    "body": [
        ...
    ] ,
    "header": null
}