AdaptiveCard C# 中的 Botframework 循环
Botframework Loop inside of AdaptiveCard C#
我想在侧面自适应卡体中为自适应卡容器创建一个循环。我已经参考了以下解决方案,但问题是我必须将循环添加到主体内的容器中,因此如何访问容器以添加我的文本块代码。
我必须在下面的位置添加 for 循环。
您可以先创建自适应文本块列表,然后将其分配到适当的位置。
var textBlocks = new List<AdaptiveElement>();
for (int i = 1; i < 5; i++)
{
textBlocks.Add(new AdaptiveTextBlock() { Text = "Textblock" + i });
}
var adaptiveCard = new AdaptiveCard("1.0")
{
Body = new List<AdaptiveElement>()
{
new AdaptiveContainer
{
Items=textBlocks
}
}
};
你可以使用linq。类似于:
myList.Select(item => new AdaptiveTextBlock()
{
Text = myList.text,
...
}).ToList(),
您应该看看 AdaptiveCard 模板。
它比你在那里尝试的要容易得多,包括 for 循环等。
使用模板,您只需为卡编写 json 代码并将您的数据绑定到它。无需创建所有这些 类 和 c# 循环...更易于处理且性能更好。
我想在侧面自适应卡体中为自适应卡容器创建一个循环。我已经参考了以下解决方案,但问题是我必须将循环添加到主体内的容器中,因此如何访问容器以添加我的文本块代码。
您可以先创建自适应文本块列表,然后将其分配到适当的位置。
var textBlocks = new List<AdaptiveElement>();
for (int i = 1; i < 5; i++)
{
textBlocks.Add(new AdaptiveTextBlock() { Text = "Textblock" + i });
}
var adaptiveCard = new AdaptiveCard("1.0")
{
Body = new List<AdaptiveElement>()
{
new AdaptiveContainer
{
Items=textBlocks
}
}
};
你可以使用linq。类似于:
myList.Select(item => new AdaptiveTextBlock()
{
Text = myList.text,
...
}).ToList(),
您应该看看 AdaptiveCard 模板。 它比你在那里尝试的要容易得多,包括 for 循环等。
使用模板,您只需为卡编写 json 代码并将您的数据绑定到它。无需创建所有这些 类 和 c# 循环...更易于处理且性能更好。