private Attachment CardExample()
{
AdaptiveCard card = new AdaptiveCard("1.0");
card.Body.Add(new AdaptiveContainer()
{
Style = AdaptiveContainerStyle.Emphasis,
Items = new List<AdaptiveElement>()
{
new AdaptiveColumnSet()
{
Type = "ColumnSet",
Height = AdaptiveHeight.Auto,
SelectAction = new AdaptiveSubmitAction()
{
Type="Action.Submit",
Id = "Submit",
Title="Submit",
}
},
}
});
Attachment TestCard = new Attachment
{
ContentType = AdaptiveCard.ContentType,
Content= JsonConvert.DeserializeObject(JsonConvert.SerializeObject(card)),
};
return TestCard;
}
//它没有任何编译错误,但是在呈现自适应卡时,不会出现“提交”按钮
//只有一个空容器
答案 0 :(得分:0)
ColumnSets可以包含一个on click动作,但是不需要支付任何按钮,实际上就是这么简单。如果单击ColumnSet
,它将执行操作。
我在下面添加了一些图片等来说明其正常工作。有点笨拙,但您可以明白我的意思。
该示例是一个OpenUrl
,它向google.com开放,一个Submit
操作的作用相同,只是包含您要发送回机器人的数据并捕获并处理在OnTurnAsync
中使用它(如果您使用的是v4框架)...
我知道这个答案不存在,但是...这就是答案。 :-)
答案 1 :(得分:0)
实施中的问题是您要在空容器上添加 selectAction 。列集需要列,每列都需要内容。对于您而言,列中没有实际项目,因此没有任何可单击的内容。
以下是应如何实现列集的示例:
{
"type": "AdaptiveCard",
"version": "1.0",
"body": [
{
"type": "ColumnSet",
"spacing": "medium",
"columns": [
{
"type": "Column",
"width": "auto",
"items": [
{
"type": "Image",
"url": "https://unsplash.it/80?image=1083",
"size": "medium"
}
]
},
{
"type": "Column",
"width": 4,
"items": [
{
"type": "TextBlock",
"text": "Silver Star Mountain"
},
{
"type": "TextBlock",
"text": "Maps",
"isSubtle": true,
"spacing": "none"
}
]
}
],
"selectAction": {
"type": "Action.OpenUrl",
"title": "Silver Star Mountain",
"url": "ms-cortana:silver-star-mountain"
}
}
]
}