如何在Microsoft Bot框架中设置“建议措施”的样式?

时间:2019-08-10 10:48:50

标签: c# css botframework web-chat

我正在使用Bot框架v4 SDK进行网络聊天。我在选择提示中使用了建议的操作。默认情况下,建议的操作是水平对齐的。有没有一种方法可以使它垂直?

我已经尝试过将选择提示的样式选项设置为英雄卡和列表。但是在这两种情况下,选择都将保留在聊天窗口中并且不会消失。因此,我唯一的选择就是使用建议的操作。我找不到使建议的操作垂直显示的方法。

 PromptOptions choicePromptOptions = new PromptOptions
        {
            Choices = choices,
            Prompt = MessageFactory.Text("Please choose :"),
            RetryPrompt = null,
            Style = ListStyle.SuggestedAction
         };

除了建议的操作之外,还有其他方法可以使选择消失吗?

2 个答案:

答案 0 :(得分:1)

不幸的是,使用建议的措施是不可能的。通过设计,建议的动作由于其暂时存在而打算消耗尽可能少的房地产。因此,水平显示。

如果要水平显示,建议您使用hero card。但是,它将保留在网络聊天记录的一部分中,一旦发生选择或其他活动,它就不会消失。

以下是从参考文档中借来的示例代码:

private static async Task DisplayOptionsAsync(ITurnContext turnContext, CancellationToken cancellationToken)
{
    var card = new HeroCard
    {
        Text = "You can upload an image or select one of the following choices",
        Buttons = new List<CardAction>
        {
            new CardAction(ActionTypes.ImBack, title: "1. Green", value: "1"),
            new CardAction(ActionTypes.ImBack, title: "2. Blue", value: "2"),
            new CardAction(ActionTypes.ImBack, title: "3. Red", value: "3"),
        },
    };

    var reply = MessageFactory.Attachment(card.ToAttachment());
    await turnContext.SendActivityAsync(reply, cancellationToken);
}

答案 1 :(得分:0)

在最新版本的机器人框架中,只需应用以下设置

suggestedActionLayout: 'carousel', // either 'carousel' or 'stacked'

查看https://github.com/Microsoft/BotFramework-WebChat/blob/master/packages/component/src/Styles/defaultStyleOptions.js了解更多详情