在创作自适应卡片时引用 TargetElements

Referencing TargetElements when when authoring Adaptive Cards

我正在用 C# 编写自适应卡片,需要添加带有 ToggleVisibilityAction 的图像。 JSON 等价于:

{
  "type": "Image",
  "selectAction": {
    "type": "Action.ToggleVisibility",
    "title": "expand",
    "targetElements": [ "REFERENCE_1", "REFERENCE_2",]
  },
  "url": "MY_IMAGE_URL",
  "altText": "visible"
}

上面的REFERENCE_1REFERENCE_2是我要定位的元素的Id字段。

在用 C# 编写时,我有

new AdaptiveImage()
{
  SelectAction = new AdaptiveToggleVisibilityAction()
  {
    Title = "collapse",
    TargetElements = REFERENCE_COLLECTION_HERE, 
  },
}

我的挑战是 JSON 版本接受带有 TargetElement 的 Id 的字符串引用,但 C# 版本需要 List<AdaptiveTargetElement>,其中 REFERENCE_COLLECTION_HERE 是。我如何设法引用 TargetElement,同时能够将它添加到我的卡片布局中我想要的位置。

您可以只使用 AdaptiveTargetElement 对象而不是字符串:

new AdaptiveImage()
{
    SelectAction = new AdaptiveToggleVisibilityAction()
    {
        Title = "collapse",
        TargetElements = new List<AdaptiveTargetElement>
        {
            new AdaptiveTargetElement("REFERENCE_1"),
            new AdaptiveTargetElement("REFERENCE_2"),
        },
    },
}

您可以在此处查看它们的文档:https://adaptivecards.io/explorer/TargetElement.html