You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何控制C# Bot Framework中Prompt对话框的尺寸?

修改Prompt.Dialog宽度的可行方案

嘿,我之前开发Bot Framework聊天机器人时也碰到过这个问题——默认的Prompt对话框确实没法直接通过Size/Width这类属性调整,但有几个实用的办法能解决:

1. 给Web Chat组件加自定义CSS样式

如果你的Bot是通过Web Chat嵌入网页的,最直接的方式就是用CSS覆盖默认对话框样式。先打开浏览器开发者工具,找到Prompt对话框对应的DOM元素(旧版类名一般是wc-message-dialog,新版可能是ms-dialog),然后添加如下样式:

/* 自定义对话框宽度,这里设置最大宽度800px,同时自适应容器90%宽度 */
.wc-message-dialog {
  max-width: 800px !important;
  width: 90% !important;
  margin: 0 auto; /* 让对话框居中显示 */
}

记得加!important来覆盖框架默认样式,不同版本的Web Chat类名可能有小变化,一定要用开发者工具确认准确的类名。

2. 改用Adaptive Card实现自定义选择界面

如果想要更灵活的样式控制,完全可以放弃默认的Prompt.Dialog,用Adaptive Card来做选项选择。Adaptive Card支持直接设置宽度,还能自定义布局和样式,示例如下:

{
  "type": "AdaptiveCard",
  "version": "1.0",
  "width": "700px", /* 自定义卡片宽度 */
  "body": [
    {
      "type": "TextBlock",
      "text": "请选择您需要的服务:",
      "size": "Medium",
      "weight": "Bolder"
    }
  ],
  "actions": [
    {
      "type": "Action.Submit",
      "title": "账户查询",
      "data": "account_query"
    },
    {
      "type": "Action.Submit",
      "title": "业务办理",
      "data": "business_handle"
    },
    {
      "type": "Action.Submit",
      "title": "人工客服",
      "data": "human_service"
    }
  ]
}

在Bot代码里发送这个Adaptive Card,用户看到的就是你自定义宽度的选择界面,体验更统一。

3. 针对特定渠道的调整

如果你的Bot部署在Teams、Skype这类平台,这些渠道对卡片样式有自己的规范,Web Chat的CSS方法可能不适用。这种情况下,建议用对应渠道的自定义卡片格式(比如Teams的Office 365 Connector Card),或者通过渠道提供的样式API来调整宽度。

总结下来,Web Chat场景用CSS自定义最快捷,想要全渠道统一体验就选Adaptive Card,根据你的部署渠道挑合适的方法就行~

内容的提问来源于stack exchange,提问作者Vivienne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:47:01