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

MS Teams MessageCard长文本截断不换行问题解决方案咨询

解决方案

你可以通过以下几种方式解决长文本溢出不换行的问题:

  • 插入零宽空格实现无感知断行
    针对无分隔符的长路径、长字符串,可以在每20-30个字符的位置插入零宽空格\u200B,该字符不可见,不会破坏原文内容,复制时也不会带出额外字符,同时会让Teams的渲染引擎识别为可断行位置,自动换行不溢出。
    示例处理代码:

    public static string InsertZeroWidthSpace(string input, int interval = 25)
    {
        if (string.IsNullOrEmpty(input) || input.Length <= interval)
            return input;
        var sb = new StringBuilder();
        for (int i = 0; i < input.Length; i += interval)
        {
            sb.Append(input.Substring(i, Math.Min(interval, input.Length - i)));
            if (i + interval < input.Length)
                sb.Append('\u200B');
        }
        return sb.ToString();
    }
    

    调用时把错误信息、长路径用这个方法处理后再赋值给value即可。

  • 用代码块包裹长内容开启滚动
    因为你已经在卡片配置里开启了markdown = true,只需要把长文本用markdown代码块语法包裹,Teams渲染时会自动给代码块加滚动条,无论多长的内容都可以滚动查看,不需要手动处理断行:
    修改你的JSON构造代码里的错误消息赋值部分即可:

    new {
        name = "Error Message",
        value = $"```\n{result}\n```"
    }
    
  • 替换为自适应卡片(Adaptive Card)获得更好的排版支持
    旧版MessageCard的排版能力限制较多,你可以改用微软现在主推的自适应卡片,将长文本放在TextBlock组件中,显式设置"wrap": true,还可以配合"maxLines"属性控制默认显示行数,超长内容可以配合Action.ShowCard做折叠展开,完全避免溢出问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 21:27:02